/* Единая шапка Kakadu.
   Общие: высота, типографика, поведение при прокрутке и на телефоне.
   Своё у каждого направления: цвет --kk-accent, логотип, пункты меню,
   основное действие и дополнительный блок (мессенджеры, соседние разделы). */

/* Шапка липкая, поэтому переход по якорю обязан оставлять место под неё,
   иначе заголовок раздела оказывается под шапкой. Фактическую высоту
   подставляет header.js в --kk-header-h: она зависит от ширины экрана
   и от компактного состояния при прокрутке. */
html {
  scroll-padding-top: calc(var(--kk-header-h, 96px) + var(--kk-subnav-h, 0px) + 20px);
}

.kakadu-header {
  --kk-accent: #4ac5e2;
  --kk-ink: #101828;
  --kk-soft: #667085;
  --kk-line: rgba(16, 24, 40, .09);
  --kk-content: 1320px;
  --kk-header-content: 1480px;

  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid var(--kk-line);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  font-family: inherit;
  transition: box-shadow .3s ease;
}

.kakadu-header.is-compact {
  box-shadow: 0 10px 30px rgba(16, 24, 40, .07);
}

/* На главной и в хостеле шапка находится внутри общего контейнера страницы.
   Выводим только её на ширину окна, не растягивая hero и секции. */
.prototype-page > .kakadu-header,
.wrap > .kakadu-header {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
}

.kakadu-header__inner {
  width: min(var(--kk-header-content), calc(100% - 44px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  column-gap: clamp(16px, 2.4vw, 34px);
  row-gap: 10px;
  min-height: 74px;
  padding: 12px 0;
}

/* Логотип */

.kakadu-header__logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  width: 184px;
  min-width: 184px;
  height: 48px;
  text-decoration: none;
}

/* Логотип прозрачный: на страницах с общей подложкой у img (например, хостел)
   иначе за знаком виден голубой прямоугольник. */
.kakadu-header__logo img {
  display: block;
  width: 100%;
  height: 100%;
  background: transparent;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}

/* Навигация */

.kakadu-header__nav {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: clamp(10px, 1.2vw, 18px);
  min-width: 0;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.2;
}

.kakadu-header__nav a {
  position: relative;
  padding: 6px 0;
  color: #33363f;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease;
}

.kakadu-header__nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: 999px;
  background: var(--kk-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .24s cubic-bezier(.2, .72, .2, 1);
}

.kakadu-header__nav a:hover,
.kakadu-header__nav a:focus-visible {
  color: var(--kk-accent);
}

.kakadu-header__nav a:hover::after,
.kakadu-header__nav a:focus-visible::after {
  transform: scaleX(1);
}

/* Пункты, ведущие в направления бренда, окрашены в их фирменный цвет */

.kakadu-header__nav .nav-hostel,
.kakadu-header__links .nav-hostel { color: #4ac5e2; }

.kakadu-header__nav .nav-home,
.kakadu-header__links .nav-home { color: #cc3727; }

.kakadu-header__nav .nav-travel,
.kakadu-header__links .nav-travel { color: #b82354; }

.kakadu-header__nav .nav-brand,
.kakadu-header__links .nav-brand,
.kakadu-header__nav .nav-investors,
.kakadu-header__links .nav-investors { color: var(--kk-ink); }

.kakadu-header__nav .nav-loyalty,
.kakadu-header__links .nav-loyalty { color: #c85e16; }

.kakadu-header__nav .nav-hostel:hover,
.kakadu-header__nav .nav-home:hover,
.kakadu-header__nav .nav-travel:hover,
.kakadu-header__nav .nav-brand:hover,
.kakadu-header__nav .nav-investors:hover,
.kakadu-header__nav .nav-loyalty:hover,
.kakadu-header__nav .nav-hostel:focus-visible,
.kakadu-header__nav .nav-home:focus-visible,
.kakadu-header__nav .nav-travel:focus-visible,
.kakadu-header__nav .nav-brand:focus-visible,
.kakadu-header__nav .nav-investors:focus-visible,
.kakadu-header__nav .nav-loyalty:focus-visible {
  opacity: .78;
}

.kakadu-header__nav .nav-hostel::after,
.kakadu-header__nav .nav-home::after,
.kakadu-header__nav .nav-travel::after,
.kakadu-header__nav .nav-brand::after,
.kakadu-header__nav .nav-investors::after,
.kakadu-header__nav .nav-loyalty::after {
  background: currentColor;
}

.kakadu-header__nav a[aria-current="page"] {
  font-weight: 900;
}

.kakadu-header__nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

/* Правая часть: телефон, дополнительный блок, действие */

.kakadu-header__aside {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.6vw, 22px);
}

.kakadu-header__phone {
  display: grid;
  grid-template-columns: 18px auto;
  gap: 1px 8px;
  align-items: center;
  color: var(--kk-ink);
  text-align: right;
  text-decoration: none;
  white-space: nowrap;
}

.kakadu-header__phone::before {
  content: "";
  grid-row: 1 / 3;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.5 15.5 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.56 3.57.56a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.19 2.45.56 3.57a1 1 0 0 1-.25 1.02l-2.19 2.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.62 10.79a15.5 15.5 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.56 3.57.56a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.19 2.45.56 3.57a1 1 0 0 1-.25 1.02l-2.19 2.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.kakadu-header__phone strong {
  font-size: 16px;
  font-weight: 800;
}

.kakadu-header__phone span {
  color: var(--kk-soft);
  font-size: 12px;
  font-weight: 600;
}

.kakadu-header__extra {
  display: flex;
  align-items: center;
  gap: 8px;
}

.kakadu-header__links {
  display: flex;
  gap: 16px;
  color: var(--kk-soft);
  font-size: 13px;
  font-weight: 700;
}

.kakadu-header__links a {
  color: inherit;
  text-decoration: none;
  transition: color .2s ease;
}

.kakadu-header__links a:hover { color: var(--kk-ink); }

.kakadu-header__messengers {
  display: flex;
  align-items: center;
  gap: 8px;
}

.kakadu-header__messengers a {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #d8dce0;
  border-radius: 999px;
  background: #f1f3f4;
  color: #343a40;
  box-shadow: none;
  transition: transform .2s cubic-bezier(.2, .72, .2, 1), border-color .2s ease, background-color .2s ease;
}

.kakadu-header__messengers a:hover,
.kakadu-header__messengers a:focus-visible {
  border-color: #8b9298;
  background: #e7e9eb;
  transform: translateY(-2px);
}
.kakadu-header__messengers svg { width: 18px; height: 18px; }
.kakadu-header__messengers .is-telegram,
.kakadu-header__messengers .is-whatsapp {
  border-color: transparent;
  color: #ffffff;
}
.kakadu-header__messengers .is-telegram { background: #27a7e7; }
.kakadu-header__messengers .is-whatsapp { background: #25d366; }
.kakadu-header__messengers .is-max {
  border-color: transparent;
  background: transparent;
}
.kakadu-header__messengers .is-max svg { width: 31px; height: 31px; }
.kakadu-header__messengers .max-logo rect { fill: #444a50; }
.kakadu-header__messengers .max-logo path { fill: #ffffff; }

/* Основное действие направления */

.kakadu-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border: 2px solid var(--kk-accent);
  border-radius: 9px;
  background: var(--kk-accent);
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none;
  transition: transform .2s cubic-bezier(.2, .72, .2, 1), background .2s ease, box-shadow .2s ease;
}

.kakadu-header__cta:hover,
.kakadu-header__cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(16, 24, 40, .18);
}

.kakadu-header__cta--ghost {
  background: #ffffff;
  color: var(--kk-accent);
}

.kakadu-header__cta--ghost:hover,
.kakadu-header__cta--ghost:focus-visible {
  background: var(--kk-accent);
  color: #ffffff;
}

/* Дубль действия внутри меню нужен только на узких экранах */
.kakadu-header__nav .kakadu-header__cta { display: none; }

/* Кнопка меню */

.kakadu-header__burger {
  display: none;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--kk-line);
  border-radius: 10px;
  background: #ffffff;
  color: var(--kk-ink);
  cursor: pointer;
}

.kakadu-header__burger i,
.kakadu-header__burger i::before,
.kakadu-header__burger i::after {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .22s ease, background-color .18s ease;
}

.kakadu-header__burger i { position: relative; }
.kakadu-header__burger i::before,
.kakadu-header__burger i::after { content: ""; position: absolute; left: 0; }
.kakadu-header__burger i::before { top: -6px; }
.kakadu-header__burger i::after { top: 6px; }
.kakadu-header__burger[aria-expanded="true"] i { background: transparent; }
.kakadu-header__burger[aria-expanded="true"] i::before { transform: translateY(6px) rotate(45deg); }
.kakadu-header__burger[aria-expanded="true"] i::after { transform: translateY(-6px) rotate(-45deg); }

.kakadu-header a:focus-visible,
.kakadu-header button:focus-visible {
  outline: 2px solid var(--kk-accent);
  outline-offset: 3px;
}

/* Локальная навигация по текущей странице отделена от переходов между
   направлениями Kakadu. На телефоне строка прокручивается горизонтально. */
.kakadu-subnav {
  position: sticky;
  top: var(--kk-header-h, 74px);
  z-index: 55;
  width: 100%;
  border-bottom: 1px solid rgba(16, 24, 40, .11);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 5px 16px rgba(16, 24, 40, .03);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  font-family: inherit;
}

.kakadu-subnav__inner {
  display: flex;
  justify-content: flex-start;
  gap: clamp(20px, 2.5vw, 36px);
  align-items: center;
  width: min(1320px, calc(100% - 44px));
  min-height: 44px;
  margin: 0 auto;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.kakadu-subnav__inner::-webkit-scrollbar {
  display: none;
}

.kakadu-subnav__label {
  display: none;
}

.kakadu-subnav a {
  position: relative;
  flex: 0 0 auto;
  padding: 12px 0 10px;
  border-radius: 0;
  color: #475467;
  font-size: 13.5px;
  font-weight: 750;
  letter-spacing: -.01em;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease;
}

.kakadu-subnav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: var(--kk-accent, #4ac5e2);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s cubic-bezier(.2, .72, .2, 1);
}

.kakadu-subnav a:hover,
.kakadu-subnav a:focus-visible {
  color: var(--kk-ink, #101828);
}

.kakadu-subnav a:hover::after,
.kakadu-subnav a:focus-visible::after,
.kakadu-subnav a[aria-current="location"]::after {
  transform: scaleX(1);
}

.kakadu-subnav a[aria-current="location"] {
  color: var(--kk-accent, #4ac5e2);
  font-weight: 800;
}

.kakadu-subnav a:focus-visible {
  outline: 2px solid var(--kk-accent, #4ac5e2);
  outline-offset: 2px;
  border-radius: 3px;
}

/* Планшет и телефон */

@media (max-width: 1180px) {
  .kakadu-header__links { display: none; }
}

@media (max-width: 1280px) {
  .kakadu-header__inner {
    width: min(100%, calc(100% - 32px));
    grid-template-columns: auto 1fr auto;
    min-height: 64px;
  }

  .kakadu-header__burger { display: grid; }

  .kakadu-header__nav {
    display: none;
    grid-column: 1 / -1;
    grid-row: 2;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-top: 8px;
    border-top: 1px solid var(--kk-line);
  }

  .kakadu-header__nav.is-open { display: flex; }

  .kakadu-header__nav a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    padding: 12px 4px;
    font-size: 15px;
  }

  .kakadu-header__nav a::after { display: none; }

  .kakadu-header__aside {
    grid-column: 2;
    justify-content: flex-end;
    gap: 8px;
  }

  .kakadu-header__phone span,
  .kakadu-header__extra { display: none; }

  .kakadu-header__messengers {
    display: flex;
    gap: 6px;
  }

  .kakadu-header__messengers a {
    width: 30px;
    height: 30px;
  }

  .kakadu-header__messengers .is-max svg {
    width: 29px;
    height: 29px;
  }

  .kakadu-header__cta {
    min-height: 42px;
    padding: 0 16px;
    font-size: 13px;
  }
}

@media (max-width: 760px) {
  .kakadu-header__phone,
  .kakadu-header__aside > .kakadu-header__cta {
    display: none;
  }

  .prototype-page .kakadu-header__phone {
    display: grid;
    grid-template-columns: 1fr;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid #d8dce0;
    border-radius: 999px;
    background: #ffffff;
    color: var(--kk-ink);
  }

  .prototype-page .kakadu-header__phone::before {
    grid-row: auto;
    width: 19px;
    height: 19px;
  }

  .prototype-page .kakadu-header__phone strong,
  .prototype-page .kakadu-header__phone span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}

@media (max-width: 560px) {
  .kakadu-header__inner {
    width: min(100%, calc(100% - 20px));
    column-gap: 6px;
  }

  .kakadu-header__logo {
    width: 142px;
    min-width: 142px;
    height: 38px;
  }

  .kakadu-header__messengers {
    gap: 4px;
  }

  .kakadu-header__messengers a {
    width: 28px;
    height: 28px;
  }

  .kakadu-header__messengers svg {
    width: 16px;
    height: 16px;
  }

  .kakadu-header__messengers .is-max svg {
    width: 27px;
    height: 27px;
  }

  .kakadu-header__burger {
    width: 42px;
    height: 42px;
  }

  .kakadu-header__nav .kakadu-header__cta {
    display: inline-flex;
    margin: 10px 0 4px;
  }

  .kakadu-subnav__inner {
    justify-content: flex-start;
    gap: 22px;
    width: 100%;
    min-height: 40px;
    padding: 0 16px;
    box-sizing: border-box;
  }

  .kakadu-subnav a {
    padding: 11px 0 9px;
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kakadu-header,
  .kakadu-header * {
    transition-duration: .01ms !important;
  }
}

/* Keep navigation inside its column; reserve space for investor contacts. */
@media (min-width: 1441px) {
  .kakadu-header__inner { column-gap: 18px; }
  .kakadu-header__nav { flex-wrap: wrap; }
}
@media (min-width: 1281px) and (max-width: 1440px) {
  .kakadu-header__inner {
    width: min(100%, calc(100% - 32px));
    grid-template-columns: auto 1fr auto;
    min-height: 64px;
  }

  .kakadu-header__burger { display: grid; }

  .kakadu-header__nav {
    display: none;
    grid-column: 1 / -1;
    grid-row: 2;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding-top: 8px;
    border-top: 1px solid var(--kk-line);
  }

  .kakadu-header__nav.is-open { display: flex; }

  .kakadu-header__nav a {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    padding: 12px 4px;
    font-size: 15px;
  }

  .kakadu-header__nav a::after { display: none; }

  .kakadu-header__aside {
    grid-column: 2;
    justify-content: flex-end;
    gap: 8px;
  }

  .kakadu-header__phone span,
  .kakadu-header__extra { display: none; }

  .kakadu-header__messengers {
    display: flex;
    gap: 6px;
  }

  .kakadu-header__messengers a {
    width: 30px;
    height: 30px;
  }

  .kakadu-header__messengers .is-max svg {
    width: 29px;
    height: 29px;
  }

  .kakadu-header__cta {
    min-height: 42px;
    padding: 0 16px;
    font-size: 13px;
  }
}


@media(min-width:1001px) and (max-width:1440px) {
 .kakadu-header__inner { width:calc(100% - 32px); grid-template-columns:auto minmax(0,1fr) auto; column-gap:14px; }
 .kakadu-header__logo { width:142px; min-width:142px; }
 .kakadu-header__burger { display:none; }
 .kakadu-header__nav { display:flex; grid-column:2; grid-row:1; flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px; padding:0; border:0; }
 .kakadu-header__nav a { width:auto; min-height:0; padding:6px 0; font-size:13px; }
 .kakadu-header__nav .kakadu-header__cta { display:none; }
 .kakadu-header__aside { grid-column:3; grid-row:1; gap:10px; }
 .kakadu-header__messengers, .kakadu-header__phone span, .kakadu-header__extra { display:none; }
 .kakadu-header__cta { min-height:42px; padding:0 12px; font-size:13px; }
}
@media(min-width:1001px) and (max-width:1280px) {
 .kakadu-header__inner { grid-template-columns:auto 1fr; row-gap:6px; }
 .kakadu-header__aside { grid-column:2; }
 .kakadu-header__nav { grid-column:1 / -1; grid-row:2; justify-content:center; gap:18px; }
 .kakadu-header__nav a { font-size:14px; }
}

@media(min-width:1001px) {
 .kakadu-header__inner { width:min(1480px,calc(100% - 40px)); grid-template-columns:auto minmax(0,1fr); column-gap:28px; row-gap:8px; padding:12px 0 0; }
 .kakadu-header__logo { width:184px; min-width:184px; }
 .kakadu-header__burger { display:none; }
 .kakadu-header__aside { grid-column:2; grid-row:1; justify-content:flex-end; gap:16px; }
 .kakadu-header__messengers { display:flex; gap:8px; }
 .kakadu-header__phone span { display:block; }
 .kakadu-header__extra { display:none; }
 .kakadu-header__cta { min-height:46px; padding:0 22px; font-size:14px; }
 .kakadu-header__nav { display:flex; grid-column:1 / -1; grid-row:2; flex-direction:row; flex-wrap:nowrap; align-items:stretch; justify-content:space-between; gap:12px; padding:0; border:0; border-top:1px solid #e7edf1; }
 .kakadu-header__nav > a { display:flex; flex:1 1 auto; width:auto; align-items:center; justify-content:center; min-height:52px; padding:12px 8px; font-size:17px; line-height:1.25; text-align:center; }
 .kakadu-header__nav .kakadu-header__cta { display:none; }
 .kakadu-header__nav > a::after { bottom:7px; }
}
@media(min-width:1001px) and (max-width:1180px) {
 .kakadu-header__nav { gap:6px; }
 .kakadu-header__nav > a { font-size:16px; padding-inline:4px; }
}

@media(max-width:760px) {
 .kakadu-header .kakadu-header__phone { display:grid; flex:0 0 40px; grid-template-columns:1fr; gap:0; place-items:center; width:40px; height:40px; border:1px solid #d8dce0; border-radius:50%; background:#fff; color:#243442; }
 .kakadu-header .kakadu-header__phone::before { grid-row:auto; width:20px; height:20px; }
 .kakadu-header .kakadu-header__phone strong, .kakadu-header .kakadu-header__phone span { display:none; }
}
@media(max-width:380px) {
 .kakadu-header .kakadu-header__logo { width:108px; min-width:108px; }
 .kakadu-header .kakadu-header__aside { gap:6px; }
 .kakadu-header .kakadu-header__messengers { gap:3px; }
}

.kakadu-header__identity {color:#000;font-family:inherit;font-size:13px;line-height:1.5;letter-spacing:.01em;min-width:0;padding-left:18px;border-left:2px solid var(--kk-accent);}
.kakadu-header__identity strong {display:block;font-weight:600;}
.kakadu-header__identity span {display:block;font-size:12px;}
@media(min-width:1001px){.kakadu-header__inner {grid-template-columns:auto minmax(210px,1fr) auto;column-gap:22px;}.kakadu-header__identity {grid-column:2;grid-row:1;}.kakadu-header__aside {grid-column:3;grid-row:1;}}
@media(max-width:1000px){.kakadu-header__identity {grid-column:1 / -1;grid-row:2;padding:8px 0 0;border-left:0;border-top:1px solid #e7edf1;font-size:13px;}.kakadu-header__identity strong {display:inline;}.kakadu-header__identity span {display:inline;margin-left:12px;}.kakadu-header__nav {grid-row:3;}}
@media(max-width:560px){.kakadu-header__identity {font-size:12px;line-height:1.45;}.kakadu-header__identity strong,.kakadu-header__identity span {display:block;}.kakadu-header__identity span {margin-left:0;font-size:11px;}}
