


body {
  margin: 0;
  background-color: #0B0F19;
  height: 100vh;
  color: #FFFFFF;
}


.logo-container {
  height: 150px;
  width: 150px;
  aspect-ratio: 1 / 1;
  display: inline-block;
  vertical-align: middle;
}

/* контур для пустых треугольников */
.tr-outline {
  fill: none;
  stroke: rgba(255, 255, 255, 0.1);
  stroke-width: 4;
  stroke-linejoin: round;
  stroke-linecap: round;
}

/* заливка для закрашенных треугольников */
.tr-filled {
  fill: rgba(255, 255, 255, 0.1);
  stroke: rgba(255, 255, 255, 0.1);
  stroke-width: 4;
  stroke-linejoin: round;
  stroke-linecap: round;
}

/* Внутренний темно-оранжевый контур */
.tr-orange-outline {
  fill: none;
  stroke: #D35400; /* Темно-оранжевый */
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}

/* вертикальная распорка*/
.vertical-spacer {
  height: 5px; /* Высота отступа на больших экранах компьютеров */
  width: 100%;
}

/* адаптивная вертикальная распорка*/
.vertical-spacer-adaptive {
  height: 5px; /* Высота отступа на больших экранах компьютеров */
  width: 100%;
}

/* отключение распорки на мобильных экранах */
@media (max-width: 768px) {
  .vertical-spacer-adaptive {
    display: none; /* Див полностью исчезает, отступ становится 0px */
  }
}



/* Контейнер для всей сетки блоков */
.grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 колонки на компьютерах */
  gap: 18px; /* Отступы между квадратами */
  max-width: 820px;
  margin: 60px auto 0 auto; /* Воздух сверху от текста и центрирование */
  padding: 0 24px;
}

/* Стили для каждого интерактивного квадрата */
.grid-card {
  background: rgba(255, 255, 255, 0.05); /* Почти прозрачный матовый фон */
  border: 1px solid rgba(255, 255, 255, 0.1); /* Тонкая благородная рамка */
  aspect-ratio: 1 / 1; /* Жесткий квадрат */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none; /* Убираем подчеркивание у ссылок */
  cursor: pointer;
  transition: all 0.4s ease; /* Плавный эффект при наведении */
}

/* Эффект при наведении (Hover) — интеллектуальный акцент */
.grid-card:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.3); /* Рамка становится чуть ярче */
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.03); /* Мягкое внутреннее свечение */
}

/* Иконки внутри карточек */
.card-icon {
  width: 32px;
  height: 32px;
  margin-bottom: 16px;
  fill: none;
  stroke: rgba(255, 255, 255, 0.6); /* Читаемый на солнце серый */
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.4s ease;
}

.grid-card:hover .card-icon {
  stroke: #FFFFFF; /* Иконка загорается белым при наведении */
}

/* Текст внутри карточек */
.card-text {
  color: rgba(255, 255, 255, 0.8);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.5px;
  text-align: center;
  padding: 0 10px;
}


/* Делаем карточку библиотеки базой для абсолютных координат */
.card-library-parent {
  position: relative; /* Позволяет внутренней рамке ориентироваться на границы этого квадрата */
  overflow: hidden;
}



/* АДАПТИВНОСТЬ: Перестраиваем в сетку 2х2 на смартфонах */
@media (max-width: 768px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr); /* 2 колонки вместо 4 */
    gap: 16px;
    margin-top: 40px;
  }
}

/* Контейнер всего футера */
.site-footer {
  margin-top: 80px; /* Отступ вниз от наших 4-х квадратов */
  padding-bottom: 40px;
  text-align: center;
}

/* Центральная минималистичная черточка-разделитель */
.footer-divider {
  width: 40px; /* Короткая, изящная линия */
  height: 1px;
  background-color: rgba(255, 255, 255, 0.15); /* Тонкий полутон */
  margin: 0 auto 30px auto; /* Центрируем и делаем отступ вниз к ссылкам */
}

/* Сетка для ссылок */
.footer-grid {
  display: grid;
  grid-template-columns: repeat(2, auto); /* Два столбика, ширина по контенту */
  justify-content: center; /* Центрируем всю сетку по горизонтали */
  gap: 12px 60px; /* 12px между строками, 60px между столбиками */
  max-width: 600px;
  margin: 0 auto;
}

/* Стили для ссылок в футере */
.footer-link {
  color: rgba(255, 255, 255, 0.4); /* Глубокий матовый полутон, чтобы не отвлекать */
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 300;
  text-decoration: none;
  text-align: left; /* Текст в столбиках выравнивается по левому краю */
  transition: color 0.3s ease;
}

/* Мягкая подсветка при наведении */
.footer-link:hover {
  color: rgba(255, 255, 255, 0.8);
}

/* Выделенный оранжевый стиль для важной ссылки в футере */
.footer-link-orange {
  color: #D35400 !important; /* Наш фирменный темно-оранжевый */
  font-weight: 250; /* Делаем чуть плотнее обычных ссылок для читаемости на солнце */
  transition: color 0.3s ease;
}

/* Эффект при наведении */
.footer-link-orange:hover {
  color: #E67E22 !important; /* Мягкое зажигание при наведении */
}

/* АДАПТИВНОСТЬ: на смартфонах перестраиваем в один ровный столбик */
@media (max-width: 480px) {
  .footer-grid {
    grid-template-columns: 1fr; /* Один столбик */
    justify-items: center; /* Центрируем ссылки на мобильном */
    gap: 14px; /* Чуть увеличиваем отступ для удобного тапа пальцем */
  }
  .footer-link {
    text-align: center;
  }
}

/* Невидимая вертикальная распорка для десктопа */
.vertical-spacer {
  height: 70px; /* Высота отступа на больших экранах компьютеров */
  width: 100%;
}

/* Полное отключение распорки на мобильных экранах */
@media (max-width: 768px) {
  .vertical-spacer {
    display: none; /* Див полностью исчезает, отступ становится 0px */
  }
}



