/* ---------- ПАЛИТРА ---------- */
:root {
  --red-900: #61060F;
  /* extra-dark           */
  --red-dk: #8C0C17;
  /* dark header градиент */
  --red: #C1121F;
  /* brand                */
  --red-lt: #FF595E;
  /* accent / hover       */
  --txt-dark: #1a202c;
  /* текст на белом       */
}
.subtittle{
  color:#fff;
  font-size:20px;
  text-align:center;
  padding-bottom:20px !important;
}
/* ---------- БАЗА ---------- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

body {
  font-family: 'Inter', sans-serif;
  line-height: 1.6;
  color: var(--txt-dark);
  overflow-x: hidden
}

html {
  scroll-behavior: smooth
}

a {
  text-decoration: none
}

/* ---------- HEADER ---------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(135deg, var(--red-dk) 0%, var(--red) 80%);
  color: #fff;
  padding: 5px 0;
  z-index: 1000;
  transition: .3s;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .25)
}

.header.scrolled {
  background: linear-gradient(135deg, var(--red-900), var(--red-dk))
}

.header-container {
  max-width: 1400px;
  margin: auto;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: center
}

.logo img {
  width: 100%;
  display: block;
  max-width: 15 0px;
}

.nav {
  display: flex;
  gap: 40px
}

.nav a {
  color: #fff;
  font-weight: 500;
  position: relative;
  padding: 8px 0;
  transition: .3s
}

.nav a:hover {
  color: var(--red-lt)
}

.nav a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(135deg, var(--red-lt), var(--red));
  transition: .3s
}

.nav a:hover::after {
  width: 100%
}

/* ---------- HERO ---------- */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--red-900) 0%, var(--red-dk) 40%, var(--red) 75%);
}



@keyframes float {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-20px)
  }
}

.hero-content {
  max-width: 1400px;
  margin: 110px auto;
  padding: 0 40px;
  position: relative;
  z-index: 1;
  text-align: center;
  color: #fff
}

.hero h1 {
  font-size: clamp(3rem, 8vw, 5.8rem);
  font-weight: 800;
  margin-bottom: 32px;
  text-transform: uppercase;
  line-height: 1.05;
  text-shadow: 0 3px 8px rgba(0, 0, 0, .25)
}

.hero-subtitle {
  font-size: 1.45rem;
  margin-bottom: 60px;
  color: rgba(255, 255, 255, .88)
}

/* кнопки */
.cta-buttons {
  display: flex;
  gap: 26px;
  justify-content: center;
  flex-wrap: wrap
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 30px 63px;
  font-size: 1.05rem;
  font-weight: 600;
  border-radius: 48px;
  cursor: pointer;
  transition: .25s
}

.btn-primary {
  background: linear-gradient(135deg, var(--red-lt), var(--red));
  color: #fff;
  box-shadow: 0 6px 20px rgba(193, 18, 31, .35)
}

.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(193, 18, 31, .5)
}

.btn-secondary {
  border: 2px solid var(--red-lt);
  color: var(--red-lt)
}

.btn-secondary:hover {
  background: var(--red-lt);
  color: #fff
}

/* ---------- PRESIDENT ---------- */
.president-section {
  background: #f8fafc
}

.president-container {
  max-width: 1400px;
  margin: auto;
  padding: 0 40px
}

.president-content {
  display: flex;
  align-items: center;
  gap: 80px;
  background: #fff;
  padding: 60px;
  border-radius: 30px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .1);
  transition: .3s
}

.president-content:hover {
  transform: translateY(-8px)
}

.president-image {
  flex: 0 0 260px;
  text-align: center
}

.president-image img {
  width: 240px;
  height: 320px;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .15);
  transition: .3s
}

.president-content:hover img {
  transform: scale(1.05)
}

.president-label {
  margin-top: 18px;
  font-weight: 600;
  color: var(--red)
}

.president-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--red-dk);
  margin-bottom: 26px;
  
}

.president-message {
  font-size: 1.15rem;
  color: #475569;
  line-height: 1.8;
  position: relative;
  padding-left: 28px
}

.president-message::before {
  content: '"';
  position: absolute;
  left: 0;
  top: -8px;
  font-size: 4rem;
  color: var(--red-lt);
  font-family: serif
}

.btn-president {
  margin-top: 22px
}
.features-section {
            padding: 120px 0;
            background: linear-gradient(135deg, var(--red-dk), var(--red-900));
            position: relative;
            color: #fff;
            overflow: hidden;
        }

        .features-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: 
                radial-gradient(circle at 20% 80%, rgba(255, 107, 107, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(220, 20, 60, 0.1) 0%, transparent 50%);
        }

        .features-section::after {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, .18);
        }

        .features-container {
            position: relative;
            z-index: 1;
            max-width: 1400px;
            margin: auto;
            padding: 0 40px;
        }

        .section-title {
            font-size: 3.5rem;
            font-weight: 800;
            margin-bottom: 18px;
            text-align: center;
            background: linear-gradient(135deg, #fff, #f0f0f0);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            text-shadow: 0 3px 8px rgba(0, 0, 0, .25);
            letter-spacing: -1px;
        }

        .section-subtitle {
            text-align: center;
            font-size: 1.35rem;
            color: rgba(255, 255, 255, .9);
            max-width: 700px;
            margin: 0 auto 80px;
            font-weight: 300;
            line-height: 1.6;
        }

        .features-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
            gap: 32px;
        }

        .feature-card {
            background: rgba(255, 255, 255, .12);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, .15);
            padding: 44px 36px;
            border-radius: 20px;
            position: relative;
            overflow: hidden;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
        }

        .feature-card:hover {
            transform: translateY(-12px) scale(1.02);
            border-color: rgba(255, 255, 255, .3);
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
        }

        .feature-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .2), transparent);
            transition: 0.6s ease;
        }

        .feature-card:hover::before {
            left: 100%;
        }

        .card-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 28px;
        }

        .feature-icon {
            width: 90px;
            height: 70px;
            border-radius: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.4rem;
            font-weight: 800;
            background: linear-gradient(135deg, var(--red-lt), var(--red));
            color: #fff;
            box-shadow: 0 8px 24px rgba(220, 20, 60, 0.3);
        }

        .percentage-badge {
            background: rgba(255, 255, 255, 0.2);
            color: #fff;
            padding: 8px 16px;
            border-radius: 20px;
            font-size: 0.9rem;
            font-weight: 600;
            border: 1px solid rgba(255, 255, 255, 0.3);
        }

        .feature-title {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 20px;
            color: #fff;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        }

        .companies-section {
            margin-bottom: 20px;
        }

        .companies-title {
            font-size: 0.95rem;
            color: var(--red-lt);
            font-weight: 600;
            margin-bottom: 16px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .companies-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
            gap: 12px;
            margin-bottom: 20px;
        }

        .company-logo {
            background: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 12px;
            padding: 12px;
            text-align: center;
            font-size: 0.85rem;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.9);
            transition: all 0.3s ease;
            min-height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .company-logo:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: translateY(-2px);
            border-color: rgba(255, 255, 255, 0.4);
        }

        .feature-description {
            font-size: 1.05rem;
            color: rgba(255, 255, 255, .9);
            line-height: 1.7;
            font-weight: 400;
        }

        .highlight-text {
            color: var(--red-lt);
            font-weight: 600;
        }

        @media (max-width: 768px) {
            .features-grid {
                grid-template-columns: 1fr;
                gap: 24px;
            }
            
            .section-title {
                font-size: 2.5rem;
            }
            
            .feature-card {
                padding: 32px 24px;
            }
            
            .companies-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }
/* ---------- EXPERT ---------- */
.expert-section {
  padding: 40px 0;
  background: #f8fafc
}

.expert-container {
  max-width: 1400px;
  margin: auto;
  padding: 0 40px
}

.expert-content {
  display: flex;
  align-items: center;
  gap: 80px;
}

.expert-title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--red-dk);
  margin-bottom: 30px;
  line-height: 1.2;
  text-align: left;
}

.expert-description {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #475569;
  margin-bottom: 40px
}

.expert-visual {
  flex: 0 0 600px;
  background: transparent;
  border-radius: 30px;
  padding: 60px;
  text-align: center;
  color: #fff;
  position: relative;
  overflow: hidden;
  background-color: #333;

}



@keyframes slide {
  0% {
    transform: translate(-50px, -50px)
  }

  100% {
    transform: translate(50px, 50px)
  }
}

/* ---------- CTA / CONTACT ---------- */
.cta-section {
  padding: 120px 0;
  background: linear-gradient(135deg, var(--red), var(--red-dk));
  position: relative;
  color: #fff
}

.cta-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .18)
}

.cta-container {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: auto;
  padding: 0 40px
}

.cta-content {
  display: flex;
  align-items: center;
  gap: 80px
}

.cta-title {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 28px;
  background: #fff;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.price-highlight {
  background: linear-gradient(135deg, var(--red-lt), var(--red));
  box-shadow: 0 6px 24px rgba(193, 18, 31, .45);
  color: #fff;
  padding: 18px 28px;
  border-radius: 14px;
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 26px
}

.cta-description {
  font-size: 1.15rem;
  color: rgba(255, 255, 255, .86);
  line-height: 1.8;
  margin-bottom: 38px
}

.cta-form {
  flex: 0 0 480px;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .14);
  backdrop-filter: blur(22px);
  padding: 50px;
  border-radius: 24px
}

.form-title {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--red-lt);
  text-align: center;
  margin-bottom: 28px
}

.form-group {
  margin-bottom: 24px
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-weight: 500
}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 14px 20px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 12px;
  font-size: 1rem;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  transition: .3s
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: rgba(255, 255, 255, .6)
}

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--red-lt);
  background: rgba(255, 255, 255, .12)
}

.btn-submit {
  width: 100%;
  background: linear-gradient(135deg, var(--red-lt), var(--red));
  color: #fff;
  padding: 16px;
  border: none;
  border-radius: 12px;
  font-size: 1.05rem;
  font-weight: 600;
  cursor: pointer;
  transition: .25s
}

.btn-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(193, 18, 31, .48)
}

/* ---------- ABOUT ---------- */
.about-section {
  padding: 120px 0;
  background: #fff
}

.about-container {
  max-width: 1200px;
  margin: auto;
  text-align: center;
  padding: 0 40px
}

.about-title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--red-dk);
  margin-bottom: 28px
}

.about-content {
  font-size: 1.2rem;
  line-height: 1.8;
  color: #475569;
  max-width: 900px;
  margin: auto
}

/* ---------- FOOTER ---------- */
.footer {
  background: var(--red-900);
  color: #fff;
  padding: 80px 0 38px
}

.footer-container {
  max-width: 1400px;
  margin: auto;
  padding: 0 40px
}

.footer-content {
  display: grid;
  grid-template-columns: 2fr 2fr;
  gap: 80px;
  margin-bottom: 50px
}

.footer-info h3,
.partners-section h3 {
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--red-lt);
  margin-bottom: 18px
}

.footer-info p {
  opacity: .85;
  line-height: 1.7;
  margin-bottom: 18px
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px
}

.partner-logo {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 10px;
  padding: 18px;
  text-align: center;
  font-weight: 600;
  transition: .25s;
  cursor: pointer;
}

.partner-logo:hover {
  background: rgba(255, 255, 255, .18);
  transform: translateY(-2px)
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .12);
  padding-top: 36px;
  text-align: center;
  opacity: .6
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px) {

  .cta-content,
  .expert-content,
  .president-content {
    flex-direction: column;
    gap: 0 !important
  }

  .cta-form,
  .expert-visual {
    max-width: 100%
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: 40px
  }
}

@media(max-width:768px) {
  .header-container {
    padding: 0 20px
  }

  .hero-content,
  .features-container,
  .expert-container,
  .cta-container,
  .about-container,
  .president-container {
    padding: 0px 20px
  }

  .cta-buttons {
    flex-direction: column;
    align-items: center
  }

  .features-grid {
    grid-template-columns: 1fr
  }

  .nav {
    gap: 24px
  }

  .section-title {
    font-size: 2.2rem
  }

  .hero h1 {
    font-size: 2.8rem
  }
}

/* ---------- SCROLLBAR ---------- */
::-webkit-scrollbar {
  width: 8px
}

::-webkit-scrollbar-track {
  background: #e5e7eb
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, var(--red-lt), var(--red));
  border-radius: 4px
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, var(--red), var(--red-dk))
}

/* ---------- Партнёры — карточка-лого ---------- */
.partner-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  border-radius:14px;
background-color: #fff;
  transition:.3s;
}

/* само изображение */
.partner-logo img{
  max-width:140px;          /* одинаковая ширина */
  max-height:60px;          /* или подгоните под свой ряд */
  object-fit:contain;

  filter:grayscale(1) opacity(.8);
  transition:.3s;
  width: 100%;
}

/* hover-эффект */
.partner-logo:hover{
  transform:translateY(-4px);
  background-color: #fff;
}
.partner-logo:hover img{
  filter:none;
  transform:scale(1.05);
}
/* ───── HERO с фон-видео ───── */
.hero{position:relative;overflow:hidden}      /* уже есть, но важно */

.bg-video{
  position:absolute;
  top:0;left:0;width:100%;height:100%;
  object-fit:cover;          /* видео заполняет блок, не тянется */
  z-index:1;                 /* под контентом */
}

/* затемняющая плёнка для читаемости текста */
.hero::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(135deg,
              rgba(0,0,0,.55) 0%,
              rgba(0,0,0,.65) 100%);
  z-index:2;                 /* над видео, под текстом */
}

/* текстовый контейнер поверх всего */
.hero-content{position:relative;z-index:3}
  .donut-container {
      width: 100%;
      max-width: 700px;
      margin: 0 auto;
      font-family: sans-serif;
      display: flex;
      align-items: center;
      gap: 40px;

    }
    .donut-chart {
      width: 100%;
      height: auto;
    }
    .donut-chart circle {
      fill: none;
      stroke-width: 30;
      stroke-linecap: butt;
      transition: stroke-width 0.2s;
      cursor: pointer;
    }
    .ring-bg {
      stroke: #e6e6e6;
    }
    .segment:hover {
      stroke-width: 40;
    }
    .center-text {
      text-anchor: middle;
      dominant-baseline: middle;
      pointer-events: none;
    }

    /* Легенда */
    .legend {
      list-style: none;
      padding: 0;
      margin: 20px 0 0;
      width: 100%;
      max-width: 280px;
    }
    .legend li {
      display: flex;
      align-items: center;
      margin-bottom: 8px;
      font-size: 14px;
    }
    .legend-color {
      width: 16px;
      height: 16px;
      margin-right: 8px;
      display: inline-block;
    }
    .cta-buttons .btn {
  opacity: 0.6;
  transition: opacity 0.3s ease;
}

/* при наведении на кнопку — она */
.cta-buttons .btn:hover {
  opacity: 1;
}

/* при наведении на первую — подсвечиваем следующую */
.cta-buttons .btn:hover + .btn {
  opacity: 1;
}

/* при наведении на вторую — подсвечиваем предыдущую */
.cta-buttons .btn:nth-child(2):hover ~ .btn:nth-child(1),
.cta-buttons .btn:nth-child(2):hover ~ .btn:nth-child(1) ~ .btn:nth-child(1) {
  /* этот приём работает, но в простом случае с двумя кнопками достаточно правила с + */
  opacity: 1;
}
.company-logo img{
  width: 100%;
}
@media(max-width: 768px) {
  .donut-container {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .donut-chart {
    width: 100%;
    height: 300px; /* фиксированная высота для мобильных */
  }

  .legend {
    width: 100%;
    text-align: center;
  }
}
 .footer-info.footer-menu ul {
                  list-style: none;
                  padding: 0;
                }
                .footer-info.footer-menu li {
                  margin: 5px 0;
                }
                .footer-info.footer-menu a {
                  color: #fff;
                  text-decoration: none;
                }
                .footer-info.footer-menu a:hover {
                  text-decoration: underline;
                }
                /* ---------- INVESTOR RELATIONS ---------- */
.invrel-section{
  padding:100px 0;
  background:#fff ;
}
.invrel-title{
  text-align:center;
  font-size:2.4rem;
  font-weight:800;
  color:#61060F;                 /* бирюзово-голубой акцент как в макете */
  margin-bottom:60px;
}

.invrel-grid{
  display:flex;
  gap:40px;
  justify-content:center;
  flex-wrap:wrap;
}

.inv-card{
  display:flex;
  align-items:center;
  gap:24px;

  padding:48px 60px;
  border:12px solid #fff;        /* «рамка» как на скрине */
  background:#faf9f7;
  border-radius:20px;
  box-shadow:0 12px 32px rgba(0,0,0,.06);
  text-decoration:none;

  transition:.3s;
}
.inv-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(0,0,0,.10);
}

.inv-icon{
  flex:0 0 68px; height:68px;
  display:flex; justify-content:center; align-items:center;
  border:3px solid #61060F;      /* тот же акцент что заголовок */
  border-radius:50%;
}
.inv-icon i{
  font-size:30px;
  color:#61060F;
}

.inv-label{
  font-size:1.35rem;
  font-weight:700;
  color:#1a202c;
}

/* ---------- MOBILE ---------- */
@media(max-width:540px){
  .inv-card{padding:32px}
  .inv-icon{flex:0 0 56px;height:56px}
  .inv-label{font-size:1.15rem}
}
/* ---------- LOGO ---------- */
.logo img{max-width:150px;width:100%;display:block}

/* ---------- MENU TOGGLE ---------- */
.menu-toggle{
  display:none;                          /* десктоп скрыт */
  background:none;border:none;color:#fff;
  font-size:1.8rem;cursor:pointer;
  transition:.3s;z-index:1100;           /* над меню */
}
.menu-toggle.open i{transform:rotate(90deg)}/* красивый поворот */

/* ---------- MOBILE NAV ---------- */
@media(max-width:768px){
  .menu-toggle{display:block}            /* показать гамбургер */

  .nav{
    position:fixed;top:0;right:-100%;
    width:240px;height:100vh;
    background:var(--red-dk);
    flex-direction:column;
    padding:120px 30px 40px;
    gap:26px;
    transition:right .35s ease;
    z-index:1050;
  }
  .nav.open{right:0}

  /* пункт меню на мобайле */
  .nav a{
    font-size:1.15rem;
    padding:6px 0;
  }
  .btn-president{
    padding: 15px  ;
  }
  .expert-content{
    flex-direction: column-reverse !important;
    align-items: center;
    text-align: center;

  }
  .expert-visual{
    flex-direction: column-reverse;
    flex:0 0 150px !important;
    gap: 0 !important;
    padding: 60px;
  
  }

  .expert-title{
    font-size: 30px;
  }
  .cta-title{
    font-size: 2rem;
    margin-bottom: 20px;
  }
  .cta-buttons a{
    padding: 20px;
  }
  .president-title{
    font-size: 1.7rem;
    margin-bottom: 20px;
    text-align: center;
  }
  .president-message{
    text-align: center;
  }
  .president-message:before{
    display: none;
  }
  .btn-president{
    display: block;
    margin: 20px auto;
    text-align: center;
  }
  .president-message{
    padding-left: 0;
  }
  .expert-title{
    margin-top: 20px;
    text-align: center;
  }
}
  
@media(max-width:476px){
  .expert-visual{
    flex:0 0 200px !important;
    padding: 40px;
  }
}