:root {
  --font-family: 'Montserrat', sans-serif;

  /* Основной зелёный яркий */
  --main-color: #00b573;

  /* Бамбук — насыщенные цвета для градиентов */
  --bamboo-dark: #00703f;
  --bamboo-mid: #00a87c;
  --bamboo-light: #33c19f;

  /* Линия сбоку — более заметная */
  --side-line: rgba(0, 102, 51, 0.15);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-family);

  /* Глубокий голубой фон с лёгким градиентом */
  background: linear-gradient(160deg, #00c1a0 0%, #00a88f 100%);
  color: #172d23; /* контрастный текст */
  overflow-x: hidden;
}

/* =========================
   ШАПКА
========================= */
header.custom-header {
  position: relative;
  background: #ffffffdd; /* слегка прозрачный белый, чтобы фон просвечивал */
  padding: 25px 0;
  box-shadow: 0 10px 28px rgba(0,0,0,.12); /* ярче, мягче */
  z-index: 100;
  border-bottom: 2px solid var(--bamboo-mid); /* контрастная нижняя граница */
}

/* БАМБУК */
header.custom-header::before,
header.custom-header::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 18%;
  opacity: 1; /* полностью видны */
}
header.custom-header::before {
  left: 0;
  background: linear-gradient(120deg,var(--bamboo-dark),var(--bamboo-mid),var(--bamboo-light));
}
header.custom-header::after {
  right: 0;
  background: linear-gradient(240deg,var(--bamboo-dark),var(--bamboo-mid),var(--bamboo-light));
}

/* =========================
   ВНУТРЕННОСТИ
========================= */
.header-inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: auto;
  padding: 0 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.logo img {
  height: clamp(100px, 12vw, 140px);
}

/* =========================
   НАВИГАЦИЯ ПК
========================= */
nav.main-nav {
  display: flex;
  justify-content: center;
}

.nav-list {
  display: flex;
  gap: 60px;
  list-style: none;
}

.nav-list a {
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  color: #003c59; /* яркий синий текст */
  transition: color 0.3s;
}

.nav-list a:hover {
  color: var(--main-color); /* при наведении яркий зелёный */
}

/* =========================
   БУРГЕР
========================= */
.burger {
  display: none;
  position: fixed;
  top: 15px;
  right: 20px;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: #ffffffdd; /* слегка прозрачный белый */
  padding: 8px;
  border-radius: 6px;
  box-shadow: 0 0 6px rgba(0,0,0,.25);
  z-index: 1000;
}

.burger span {
  width: 6px;
  height: 6px;
  background: #003c59; /* яркий цвет */
  border-radius: 50%;
}

/* =========================
   МОБИЛЬНОЕ МЕНЮ
========================= */
@media (max-width: 768px) {

  header.custom-header::before,
  header.custom-header::after {
    display: none;
  }

  .burger {
    display: flex;
  }

  nav.main-nav {
    display: none;
    width: 100%;
    background: #ffffffee;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
    border-radius: 0 0 16px 16px;
    padding: 20px 0;
  }

  body.menu-open nav.main-nav {
    display: flex;
    animation: slideDown .3s ease;
  }

  .nav-list {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
