/* =========================
   Base / Theme
========================= */
:root{
  --bg: #0f1011;
  --bg-2: #141517;
  --card: #1b1c1f;
  --card-2: #17181b;

  --text: #e9e9ec;
  --muted: #a9abb2;
  --muted-2:#7d808a;

  --line: rgba(255,255,255,.08);
  --line-2: rgba(255,255,255,.12);

  --accent: #23d18b;
  --accent-2: #7c5cff;

  --radius: 18px;
  --radius-sm: 14px;

  --shadow: 0 14px 45px rgba(0,0,0,.45);
  --shadow-soft: 0 12px 30px rgba(0,0,0,.35);

  --container: 1600px;
}

*,
*::before,
*::after{ box-sizing: border-box; }

@font-face {
  font-family: "NexaR Pro";
  src: url("/font/nexar_pro.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "NexaR Font";
  src: url("/font/nexar-font.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.NPro_font {
  font-family: "NexaR Pro", sans-serif;
  font-size: 50px;
  text-shadow: 0px 5px 0 rgba(0, 0, 0, .25);
}

.NFont_font {
  font-family: "NexaR Font", sans-serif;
  font-size: 14px;
  text-shadow: 0px 3px 0 rgba(0, 0, 0, .25);
}

#about, #team{
  scroll-margin-top: 120px; /* подстрой под высоту твоего topnav */
}

html{ scroll-behavior: smooth; }
body{
  margin: 0;
  color: var(--text);
  background:#191918
}

a{
  color: inherit;
  text-decoration: none;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline: 3px solid #2A2A2A;
  outline-offset: 0;
  border-radius: 0;
}

#community{
  display: flex;
  flex-direction: column;
  height: 100%;
}

.container{
  width: min(var(--container), calc(100% - 40px));
  margin-inline: auto;
}

.sectionHead{
  padding: 40px;
  text-align: center;
  margin-top:100px;
  margin-bottom:100px;
  align-items: center;
}
.sectionHead__title{
  margin: 0;
  font-size: 50px !important;
  text-transform: uppercase;
}
.sectionHead__sub{
  margin: 50px;
  color: var(--muted);
  font-size: 14px;
}

.skip-link{
  position: absolute;
  top: -50px;
  left: 16px;
  padding: 10px 12px;
  color: var(--text);
  z-index: 999;
}
.skip-link:focus{ top: 16px; }

/* =========================
   Hero (striped background)
========================= */

.hero{
  position: relative;
  overflow: hidden;
  padding:auto;
  background-image: url(img/hero_art.png);
  background-repeat:no-repeat;
  background-size: 100%;
}
.hero__overlay{
  position: absolute;
  inset: 0;
    background:
    linear-gradient(180deg, rgba(19,19,18,.0), rgba(25,25,24,1));
  pointer-events: none;
}
.hero__inner{
  position: relative;
  z-index: 1;
  text-align: center;
  --container: 1400px !important;
}
.hero__kicker{
  margin-top: 50px;
  margin-bottom: 130px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  letter-spacing: .2px;
}
.hero__title{
  margin-top: 100px;
  margin-bottom: 0px;
  text-transform: uppercase;
  text-shadow: 0 6px 0px rgba(0,0,0,.25);
}

.hero__ctaGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0 auto;
}
.hero__scroll{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  padding: 75px;
  background:#191918;
}

/* анимация стрелки вверх-вниз */
.hero__scrollIcon{
  display: block;
  will-change: transform;
  animation: heroScrollBounce 1.2s ease-in-out infinite;
}

/* небольшая "пружинка" */
@keyframes heroScrollBounce{
  0%, 100% { transform: translateY(-10px); }
  50%      { transform: translateY(10px); }
}

/* если человек отключил анимации в системе */
@media (prefers-reduced-motion: reduce){
  .hero__scrollIcon{ animation: none; }
}

/* (опционально) чтобы было понятно, что кликабельно */
.hero__scroll{ cursor: pointer; }


/* =========================
   CTA Cards
========================= */
.ctaCard{
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  background: #222120;
  height: 400px;
  flex-direction: flex-end;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.border_left{
  border: 10px solid;
  border-image: linear-gradient(150deg, #6EE5CC, #222120, #222120) 1;
}
.border_right{
  border: 10px solid;
  border-image: linear-gradient(150deg, #807DB7, #222120, #222120) 1;
}
.ctaCard:hover{
  transform: translateY(-5px);
}

.ctaCard__badge{
  position: absolute;
  top: 40px;
  left: 40px;
  width: 24px;
  height: 30px;
  display: grid;
  place-items: center;
}

.ctaCard__content{
  display: flex;
  align-items: flex-end;
  padding: 40px;
  width: 250px;
  height: 400px;
  text-align: left;

}
.ctaCard__title{
  font-family: "NexaR Font";
        src: url("/font/nexar-font.ttf") format("ttf");
        font-weight: normal;
        font-style: normal;
        font-size: 12px;
  margin: 0;
}

.ctaCard__media{
  position: absolute;
  top: -100px;
  align-self: center;
  justify-self: end;
  z-index: 999;
}

/* =========================
   Topnav
========================= */
.topnav{
  position: sticky;
  top: 0;
  z-index: 20;
  margin-bottom: 100px;
}

.topnav-sentinel{
  height: 1px;
  margin-bottom: -1px; /* чтобы не увеличивать отступы */
  pointer-events: none;
}

.topnav__inner{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 160px;
  padding: 40px;
  background:#222120;
  border-bottom: solid 2px #2B2A28;
  box-shadow: 0 6px 0px rgba(0,0,0,.10);
}
.topnav__links{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 40px;
  align-items: center;
}
.topnav__links:first-child{ justify-content: flex-end; }
.topnav__links:last-child{ justify-content: flex-start; }

.topnav__links a{
  font-family: "NexaR Font";
        src: url("/font/nexar-font.ttf") format("ttf");
        font-weight: normal;
        font-style: normal;
        font-size: 10px;
  padding: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #565655;
}

.topnav__links a:hover{
  transform: translateY(-2px);
  transition: transform .15s ease;
  color: #fff;
}

.topnav__logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin: 0 80px;
}

/* Плавные переходы */
.topnav__inner{
  transition:
    height .25s ease,
    padding .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.topnav__links{
  transition: gap .25s ease;
}

.topnav__links a{
  transition: padding .25s ease, color .15s ease, transform .15s ease;
}

.topnav__logo img{
  transition: transform .25s ease;
  transform-origin: center;
}

/* Состояние "прилипло" — делаем меньше */
.topnav.is-stuck .topnav__inner{
  height: 90px;        /* было 160px */
  padding: 18px 40px;  /* было 40px */
  box-shadow: 0 5px 0px rgba(0,0,0,.15);
}

/* (опционально) уменьшаем расстояния/клики */
.topnav.is-stuck .topnav__links{
  gap: 24px;           /* было 40px */
}

.topnav.is-stuck .topnav__links a{
  padding: 12px;       /* было 20px */
}

.topnav.is-stuck .topnav__logo{
  margin: 0 50px;      /* было 0 80px */
}

.topnav.is-stuck .topnav__logo img{
  transform: scale(.85); /* логотип меньше */
}

/* Уважение к "уменьшить анимации" */
@media (prefers-reduced-motion: reduce){
  .topnav__inner,
  .topnav__links,
  .topnav__links a,
  .topnav__logo img{ transition: none; }
}


/* =========================
   Promo grid
========================= */
.grid2{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows:repeat(2, 1fr);
  gap: 20px;
}

.bannerCard{
  position: relative;
}
.bannerCard_left{
  height: 480px;
  grid-row: span 3;
  grid-column: span 2;
  background-image: url(img/news_art_01.png);
}
.bannerCard_right{
  height: 360px;
  grid-row: span 1;
}

.bannerCard_bottom{
  grid-row: span 1;
}
.bannerCard__media img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  opacity: .95;
}
.bannerCard__body{
  padding: 16px 16px 18px;
}
.bannerCard__meta{
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.bannerCard__title{
  margin: 0;
  text-transform: uppercase;
  font-size: 14px;
}
.bannerCard__sub{
  margin: 10px 0 14px;
  color: var(--muted);
  font-size: 14px;
}

.pill{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  font-size: 12px;
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.88);
}
.pill--muted{ color: rgba(255,255,255,.72); }




/* Блок-секция */
.promo{
 padding-top: 100px 0;
}

/* GRID: слева большая, справа колонка из 2-х блоков */
.promo__grid{
  width: min(1600px, calc(100% - 60px));
  margin: 0 auto;

  display: grid;
  grid-template-columns: 1.7fr 1fr;
  grid-template-rows: 1fr auto;
  gap: 20px;
  align-items: stretch;
}

/* Общая карточка */
.promoCard{
  position: relative;
  overflow: hidden;
  display: block;
  text-decoration: none;

  border-radius: 0;                 /* как на макете */
  background: #1f1f1f;
}

/* Фоновая картинка */
.promoCard__bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
}

/* затемнение сверху/снизу как на примере */
.promoCard::before{
  content:"";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 45%),
    linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.70) 100%);
  pointer-events: none;
}

/* верхний текст */
.promoCard__top{
  position: relative;
  z-index: 2;
  padding: 40px;
}

.promoCard__tag{
  font-size: 12px !important;
  text-transform: uppercase;
  color: rgba(255,255,255,.9);
}

/* ===== LEFT big card bottom overlay ===== */
.promoCard--news{
  grid-column: 1;
  grid-row: 1 / span 2;  /* занимает 2 ряда */
  min-height: 480px;
}

.promoCard__bottom{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 20px;
}

.promoCard__version{
  display: inline-block;
  text-transform: uppercase;
  color: #e6c24a; /* жёлтый как на скрине */
}

.promoCard__title{
  padding: 0;
  margin-top: 10px;
  margin-bottom: -12px;
  text-transform: uppercase;
  font-size: 36px !important; /* крупный заголовок */
  color: #fff;
}

.promoCard__more{
  font-size: 14px;
  text-transform: uppercase;
  color: transparent;
  margin-bottom: -40px;
  transition: all 0.3s ease;
  text-shadow: none;
}
.promoCard:hover .promoCard__more{
  color: #fff;
  margin-bottom: 0;
  transform: translateY(0px)
}

/* ===== RIGHT discord card ===== */
.promoCard--discord{
  grid-column: 2;
  grid-row: 1;
  min-height: 260px;
  border: 10px solid;
  border-image: linear-gradient(145deg, #5083FF, #1E1D1C, #1E1D1C) 1;
}
.discord_color{
  color: #5865F2;
}
.discord_color:hover{
  color: #4751c7;
}
.promoCard__discordBottom{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
}

.promoCard__discordText{
  font-size: 40px;
  text-transform: uppercase;
  color: #fff;
}

.promoCard__discordIcon{
  color: rgba(255,255,255,.92);
}

/* ===== RIGHT bottom bar ===== */
.promoBar{
  grid-column: 2;
  grid-row: 2;
  background: #1E1D1C;
  display: grid;
  place-items: center;
  transition: all 0.3s ease;
  min-height: 100px;
  height: 100px;
  width: 100%;
  text-decoration: none;
}

#community .promoBar{
  margin-top: auto;
}

.promoBar:hover{
  cursor: pointer;
  background: #5865F2;
  transition: all 0.3s ease;
}

.promoBar__text{  
  font-size: 12px !important;
  text-transform: uppercase;
  color: #565655;
  transition: all 0.3s ease; 
}

.promoBar__text:hover{
  color: #fff;
  transition: all 0.3s ease;
}

/* =========================
   Buttons
========================= */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 14px;
  background: rgba(35,209,139,.12);
  color: rgba(255,255,255,.92);
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.btn:hover{
  transform: translateY(-1px);
  border-color: rgba(35,209,139,.38);
  background: rgba(35,209,139,.15);
}
.btn--ghost{
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
}
.btn--ghost:hover{
  border-color: rgba(255,255,255,.20);
  background: rgba(255,255,255,.06);
}
.btn--full{ width: 100%; }

/* =========================
   Features + Mission
========================= */
.features{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 20px;
}
.features__left{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.featureCard{
  display: flex;
  flex-direction: column;
  background: #222120;
  padding: 40px;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.featureCard:hover{
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
  transform: translateY(-5px);
  cursor: pointer;
}
.featureCard__title{
  margin: 0 0 12px;
  text-transform: uppercase;
  font-size: 30px !important;
  margin-top: -10px !important;
}
.featureCard__text{
  margin: 0;
  color: #8C8B8A;
  font-size: 12px;
  line-height: 180%;
  margin-top: auto;
}

.missionCard{
  background: #222120;
  display: grid;
  grid-template-rows: auto 1fr;
}
.missionCard__media{
  width: 780px;
  height: 400px;
  background-color: #1F1E1D;
}
.missionCard__media img{
  width: 100%;
  margin-top: -95px;
  object-fit: cover;
}
.missionCard_tag{
  position: absolute;
  right: 40px;
  bottom: 40px;
}
.missionCard__body{
  padding: 40px;
  align-items: stretch;
}
.missionCard__title{
  margin-top: -12px;
  text-transform: uppercase;
  font-size: 40px;
}
.missionCard__text{
  color: #8C8B8A;
  font-size: 12px;
  line-height: 180%;
  margin-bottom: 0 !important;
}
.missionCard__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* =========================
   Rewards
========================= */

.rewardsGrid{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 20px;
}
.rewards_status{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  height: 100px;
  padding: 0 40px;
}
.step{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
}
.step_1{
  background: #09A45C;
  padding: 18px 24px;
  text-align: center;
  align-items: center;
  z-index: 2;
}
.step_2{
  background: #2A2A2A;
  padding: 18px 24px;
  text-align: center;
  align-items: center;
  z-index: 2;
}
.step_3{
  background: #2A2A2A;
  padding: 18px 24px;
  text-align: center;
  align-items: center;
  z-index: 2;
}
.panel{
  position: relative;
  gap: 20px;
}
.list{
  position: absolute;
  top: 0;
  right: 0;
}
.panel__head{
  display: flex;
  justify-content: space-between;
  align-items: self-start;
  background: #222120;
  flex-direction: column;
  padding: 40px;
  gap: 20px;
}
.panel_head{
  display: flex;
  justify-content: space-between;
  align-items: self-start;
  background: #222120;
  flex-direction: column;
  height: 100%;
  padding: 40px;
}
.panel__head_btn{
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  padding: 40px;
  width: 100%;
  font-size: 14px !important;
  background: #1F1E1D;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.panel__head_btn:hover{
  cursor: pointer;
  background: #2A2A2A;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.panel__title{
  margin: 0;
  padding: 0;
  font-family: "NexaR Pro";
  font-size: 30px;
}
.panel__hint{
  margin: 0;
  color: #F6F6F6;
  line-height: 180%;
  padding-top: 85px;
  font-size: 12px;
}
.panel_ico{
  width: 32px;
  height: 32px;
  justify-content: center;
  display: flex;
}
.tabs{
  height: auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.tab{
  background: #1F1E1D;
  transition: transform .15s ease, 
  border-color .15s ease, 
  background .15s ease;
}
.tab:hover{
  background: #222120;
  transition: transform .15s ease, 
  border-color .15s ease, 
  background .15s ease;
  transform: translateY(-5px);
  cursor: pointer;
}
.rewardList{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.rewardItem{
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px 12px;
  background: rgba(0,0,0,.16);
}
.rewardItem__icon{
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.04);
  font-weight: 800;
}
.rewardItem--active .rewardItem__icon{
  background: rgba(35,209,139,.12);
  border-color: rgba(35,209,139,.25);
}
.rewardItem__name{
  font-weight: 700;
  font-size: 14px;
}
.rewardItem__note{
  color: var(--muted-2);
  font-size: 12px;
}

.steps{
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  display: grid;
  gap: 8px;
}
.panel__footer{ margin-top: 14px; }

.stepRight{
  position: relative;
  display: grid;
  place-items: center;
}

/* зелёная полоска только справа */
.stepRight::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 10px;               /* толщина */
  background: #09A45C;        /* зелёный */
  left: 50%;
  right: 0;
  margin-left: 45px;          /* отступ от кнопки (подгони под ширину) */
}

.stepLeft{
  position: relative;
  display: grid;
  place-items: center;
}

/* зелёная полоска только слева */
.stepLeft::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 10px;               /* толщина */
  background: #2A2A2A;        /* зелёный */
  left: 0;
  right: 50%;
  margin-right: 45px;          /* отступ от кнопки (подгони под ширину) */
}

/* если нужна фикс. ширина как в макет*/

.stepLine{
  position: relative; /* высота зоны как на макете */
  display: grid;
  place-items: center;
}

/* полоски слева и справа */
.stepLine::before,
.stepLine::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 10px;                 /* толщина полосы */
  background: #2A2A2A;
}

.stepLine::before{
  left: 0;
  right: 50%;                   /* тянем до центра */
  margin-right: 50px;           /* половина ширины кнопки + зазор */
}

.stepLine::after{
  right: 0;
  left: 50%;                    /* тянем от центра */
  margin-left: 50px;            /* половина ширины кнопки + зазор */
}

/* =========================
   Rewards flip (no JS)
========================= */

.rewardCard{
  position: relative;
  perspective: 1100px;
  /* чтобы клики были по всей области, а не только по контенту */
}

.rewardCard__toggle{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(50%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.rewardCard__body{
  display: block;
  height: 100%;
  cursor: pointer;
}

.rewardCard__inner{
  height: 100%;
  display: grid;                 /* обе стороны в одной ячейке */
  transform-style: preserve-3d;
  transition: transform .65s cubic-bezier(.2,.7,.2,1);
}

.rewardCard__face{
  grid-area: 1 / 1;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.rewardCard__back{
  transform: rotateY(180deg);
}

/* flip */
/* flip при наведении (ПК/ноут) */
@media (hover: hover) and (pointer: fine){
  .rewardCard:hover .rewardCard__inner{
    transform: rotateY(180deg);
  }

  /* чтобы с клавиатуры тоже работало */
  .rewardCard:focus-within .rewardCard__inner{
    transform: rotateY(180deg);
  }
}

/* flip по тапу (телефоны/планшеты без hover) — оставляем твой checkbox */
@media (hover: none){
  .rewardCard__toggle:checked + .rewardCard__body .rewardCard__inner{
    transform: rotateY(180deg);
  }
}


/* фокус (клавиатура) */
.rewardCard__toggle:focus-visible + .rewardCard__body{
  outline: 3px solid rgba(35,209,139,.45);
  outline-offset: 3px;
}

/* задняя сторона: типографика как на твоём примере */
.rewardBack__title{
  display: flex;
  position: absolute;
  font-size: 30px;
  margin: 0;
  text-align: left;
  text-transform: uppercase;
  line-height: 1.05;
}

.rewardBack__text{
  margin: 60px 0 0;
  color: #8C8B8A;
  font-size: 12px !important;
  line-height: 180%;
  text-transform: uppercase;
  max-width: 400px;
  margin-top: auto;
}

/* уважение к "уменьшить анимации" */
@media (prefers-reduced-motion: reduce){
  .rewardCard__inner{ transition: none; }
}



/* =========================
   Join + sub panels
========================= */
.joinCard{
  background:
    linear-gradient(90deg, #222120, #191918);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  position: relative;
  height: 600px;
}
.joinCard__text{
  display: flex;
  flex-direction: column;
  padding: 40px;
}
.joinCard__title{
  margin: 0;
  text-transform: uppercase;
  font-size: 40px;
}
.joinCard__desc{
  margin: 0;
  color: #8C8B8A;
  font-size: 12px;
  margin-top: auto;
  line-height: 180%;
}
.bullets{
  margin: 0 0 16px;
  padding-left: 18px;
  color: rgba(255,255,255,.84);
  display: grid;
  gap: 6px;
  font-size: 14px;
}
.joinCard__actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.joinCard__media{
  width: 1000px;
  height: 700px;
  object-fit: cover;
  top: -110px;
  right: -100px;
  position: absolute;
}

.subPanels{
  margin-top: 100px;
  display: grid;
  grid-template-columns: 1.5fr .5fr .5fr;
  gap: 20px;
  align-items: stretch;
}
.members{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.member{
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: center;
  background: #222120;
}
.member__info{
  padding-left: 20px;
}
.member__avatar{
  height: 100px;
  width: 100px;
  object-fit: cover;
  background: #2A2A2A;
  display: flex;
  align-items: center;
  justify-content: center;
}
.member__name{
  letter-spacing: 1px;
  margin: 0;
  color: #fff;
  font-size: 10px;
  margin-bottom: 5px;
}
.member__role{
  margin: 0;
  color: #686868;
  font-size: 10px;
}

.panel--link{
  background: #222120;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.panel--link:hover{
  transform: translateY(-5px);
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.panel_gform{
  position: absolute;
  bottom: 40px;
  height: 70px;
  width: auto;
  padding: 40px;
  display: flex;
  font-size: 10px;
  justify-content: space-around;
  align-items: center;
  background: #2A2A2A;
  justify-self: center;
}

/* =========================
   FAQ + feedback
========================= */
.gridFaq{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 20px;
  justify-content: space-between;
  align-items: stretch;
}

.faq{
  display: grid;
  align-items: center;
  background: #222120;
}
.faqItem{
  background: #222120;
  overflow: hidden;
}
.faqItem__q{
  display: block;
  list-style: none;
  cursor: pointer;
  padding: 40px;
  text-transform: uppercase;
  font-size: 12px;
  position: relative;
}

.faqItem__q::-webkit-details-marker{ display: none; }
.faqItem__q::marker{ content: ""; } /* Firefox/Chromium */


.faqItem__q_img{
  height: 24px;
  width: 24px;
  position: absolute;
  right: 40px;
  top: 40px;
  transition: transform .15s ease;
}
.faqItem[open] .faqItem__q_img{ transform: rotate(180deg); }

.faqItem__a{
  background: #2A2A2A;
  padding: 40px;
  color: var(--muted);
  font-size: 10px;
  line-height: 180%;
}
.faqItem__a p{ margin:0; }

.form{
  display: grid;
  gap: 12px;
}
.field{
  display: grid;
  gap: 8px;
}
.field__label{
  color: rgba(255,255,255,.86);
  font-size: 13px;
  font-weight: 700;
}
.field__input{
  width: 100%;
  background: rgba(0,0,0,.18);
  color: var(--text);
  padding: 12px 12px;
  font: inherit;
}
.field__input:hover{}
.field__input:focus{
  border-color: rgba(35,209,139,.35);
  background: rgba(0,0,0,.22);
  outline: none;
}
.field__input--area{
  resize: vertical;
  min-height: 120px;
}
.form__note{
  margin: 0;
  color: var(--muted-2);
  font-size: 12px;
}

/* =========================
   Footer
========================= */
.footer{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 20px;
  margin-top: 100px;
  padding:40px 0;
}
.footer_font{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.footer__text{
  color: #8C8B8A;
  text-align: start;
  font-size: 14px;
  line-height: 180%;
}
.footer__muted{
  display: inline-block;
  margin-left: 8px;
  color: rgba(255,255,255,.55);
}

.sub_btns{
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 20px;
}

.card_sub_btn{
  height: 110px;
  width: 110px;
  border-style: none;
  background: #222120;
}


/* ===== FEATURES TABS (no JS) ===== */
.featuresTabs{
  position: relative;
}

/* прячем radio */
.featuresTabs__radio{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* правая часть — делаем grid-слой для анимации */
.featuresTabs__panels{
  position: relative;
  display: grid;            /* важно */
}

/* все панели кладём в одну “ячейку” и прячем через opacity/transform */
.featuresTabs__panel{
  grid-area: 1 / 1;         /* все в одном месте */
  opacity: 0;
  transform: translateX(-20px);  /* старт слева */
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity .15s ease,
    transform .15s ease,
    visibility 0s linear .15s;   /* скрыть после анимации */
  will-change: opacity, transform;
}

/* активная панель — видимая, “въезжает” на место */
#feat1:checked ~ .featuresTabs__panels #feat1-panel,
#feat2:checked ~ .featuresTabs__panels #feat2-panel,
#feat3:checked ~ .featuresTabs__panels #feat3-panel,
#feat4:checked ~ .featuresTabs__panels #feat4-panel{
  opacity: 1;
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;

  transition:
    opacity .15s ease,
    transform .15s ease,
    visibility 0s;           /* показать сразу */
}

/* активная кнопка слева (остаётся активной после клика) */
#feat1:checked ~ .features__left label[for="feat1"],
#feat2:checked ~ .features__left label[for="feat2"],
#feat3:checked ~ .features__left label[for="feat3"],
#feat4:checked ~ .features__left label[for="feat4"]{
  transform: translateY(-5px);
}

/* чтобы label вёл себя как кнопка */
.featuresTabs__btn{
  user-select: none;
}
.featuresTabs__btn:active{
  transform: translateY(5px); /* лёгкий клик-эффект (можешь убрать) */
}

/* 1) чтобы уголок позиционировался внутри кнопки */
.features__left .featureCard{
  position: relative;
  overflow: hidden;
}

/* 2) прячем уголок по умолчанию (только в блоке features) */
.features__left .featureCard .list{
  opacity: 0;
  transform: translate(10px, -10px);
  transition: opacity .22s ease, transform .22s ease;
}

/* 3) показываем уголок только у активной кнопки */
#feat1:checked ~ .features__left label[for="feat1"] .list,
#feat2:checked ~ .features__left label[for="feat2"] .list,
#feat3:checked ~ .features__left label[for="feat3"] .list,
#feat4:checked ~ .features__left label[for="feat4"] .list{
  opacity: 1;
  transform: translate(0, 0);
}

/* (опционально) уважение к настройке “уменьшить анимации” */
@media (prefers-reduced-motion: reduce){
  .featuresTabs__panel{ transition: none; transform: none; }
}



/*Slider*/

.carouselClip{
  overflow: hidden;          /* можно заменить на overflow: clip; */
  width: 100%;
}

.myCarousel {
  width: 100%; 
  padding: 50px 0; 
}
.myCarousel .picture{
  flex: 1;                  /* занимает свободную высоту */
  display: grid;
  place-items: center;      /* ✅ центр по X и Y */
  overflow: visible;     

}

.myCarousel .swiper-slide{
  padding: 40px;
  width: 400px;
  height: 500px;
  background: #2A2A2A;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.myCarousel .picture img{
  max-width: 70%;   /* ← уменьшай процент (например 60%) */
  max-height: 70%;
  width: auto;
  height: auto;
  object-fit: contain;      /* ✅ вместо cover */
  display: block;
}


/* чтобы внешняя обводка НЕ обрезалась контейнером */
.myCarousel .swiper-wrapper{
  overflow: visible;
}

.myCarousel .swiper-slide{
  position: relative;
  overflow: visible;
}

/* боковая обводка снаружи ТОЛЬКО у неактивных */
.myCarousel .swiper-slide::before{
  content: "";
  position: absolute;

  /* ВЫХОДИТ наружу на 8px */
  inset: 0px;

  /* толщина боковой линии */
  --t: 15px;
  --c: #222120;   /* цвет боковой обводки */

  /* рисуем только ЛЕВУЮ и ПРАВУЮ линии */
  background:
    linear-gradient(var(--c), var(--c)) left  top / var(--t) 100% no-repeat,
    linear-gradient(var(--c), var(--c)) right top / var(--t) 100% no-repeat;

  pointer-events: none;
  z-index: 6;
  opacity: 1;
  transition: opacity .25s ease;
}

/* (опционально) у соседних сделать ярче */
.myCarousel .swiper-slide.swiper-slide-prev::before,
.myCarousel .swiper-slide.swiper-slide-next::before{
  --c: #222120;
}




.myCarousel .swiper-slide.swiper-slide-active{ background: #1E1D1D; }


.myCarousel .picture{ width: 320px; height: 320px; overflow: hidden; }
.myCarousel .picture img{ width: 100%; height: 100%; object-fit: cover; display:block; }

.myCarousel .detail{ padding: 40px; text-align: center; }
.myCarousel .detail h3{ margin: 0; font-size:12px; color:#8C8B8A; line-height: 200%;}
.myCarousel .detail span{ display:block; font-size: 16px; color: #f44336; }

.swiper-pagination{
  display: none;
}

/* по умолчанию все картинки серые */
.myCarousel .swiper-slide img{
  filter: grayscale(1) brightness(.85);
  transition: filter .25s ease, transform .25s ease;
}

/* активный слайд — цветной */
.myCarousel .swiper-slide.swiper-slide-active img{
  filter: grayscale(0) brightness(1);
    max-width: 80%;   /* ← уменьшай процент (например 60%) */
    max-height: 80%;
    transition: scale .15s ease;
}

.myCarousel .swiper-slide .picture img{
  transform: scale(.72);                 /* размер НЕактивных */
  transform-origin: center;
  transition: transform .35s ease;       /* ✅ плавная смена */
  will-change: transform;
}

.myCarousel .swiper-slide.swiper-slide-active .picture img{
  transform: scale(1);                   /* размер активного */
}

.myCarousel .swiper-slide.swiper-slide-prev .picture img,
.myCarousel .swiper-slide.swiper-slide-next .picture img{
  transform: scale(.80);
}

.myCarousel .picture{ overflow: visible; }

/* (опционально) чуть “приглушить” соседей */
.myCarousel .swiper-slide.swiper-slide-prev img,
.myCarousel .swiper-slide.swiper-slide-next img{
  filter: grayscale(.7) brightness(.9);
}

/* слайд — база для позиционирования */
.myCarousel .swiper-slide{
  position: relative;
}

/* рамка-уголки (PNG), по умолчанию скрыта */
.myCarousel .swiper-slide::after{
  content: "";
  position: absolute;
  inset: -6px; /* рамка по краям слайда */
  pointer-events: none;
  left: 10px;
  right: 10px;
  z-index: 10;

  background: url("img/carousel/frame.png") no-repeat;
  background-size: 100% 100%;      /* растянуть под размер карточки */
  image-rendering: pixelated;      /* чтобы пиксели были “чёткими” */

  opacity: 0;
  transform: translateX(-8px);
  transition: opacity .25s ease, transform .25s ease;
}

/* показываем рамку только на активном слайде */
.myCarousel .swiper-slide.swiper-slide-active::after{
  opacity: 1;
  transform: translateX(0);
}

/* REWARDS -----------------*/

.rewards{
  padding: 0;
}

.rewards__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0; /* на макете впритык */
}

/* карточка */
.reward{
  position: relative;
  background: #222120;
  padding: 40px;

  --pad: 40px;
  padding: var(--pad);

  /* чтобы margin-top:auto у низа работал */
  display: flex;
  flex-direction: column;
}

/* верх: иконка + маркер */
.reward__top{
  display: grid;
  grid-template-columns: 1fr auto 1fr; /* <-- важно */
  align-items: start;
  margin-bottom: 10px;
}

.reward__icon{
  grid-column: 2;
  justify-self: center;  /* иконка ровно по центру карточки */
  height: auto;
  opacity: .75;
}

.reward__mark{
  grid-column: 3;
  justify-self: end;      /* галочка/крестик справа */
  margin-top: 4px;
}

.reward__stage,
.reward__title{
  width: 100%;
  text-align: center;
}

.reward__mark--ok{
  color: #0aa15a;
}

/* этап */
.reward__stage{
  font-size: 14px;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin-bottom: 14px;
}

/* линия прогресса */
.reward__progress{
  position: relative;
  height: 20px;
  background: rgba(255,255,255,.08);

  /* ключ: вытягиваем влево/вправо на величину внутренних отступов */
  margin: 0 calc(var(--pad) * -1) 35px;
  width: calc(100% + (var(--pad) * 2));
}

.progress_right{ 
  left: 0;
  right: 200px;
  top: 0;
  bottom: 0;
  width: 200px;
  height: 20px;
  background: rgba(255,255,255,.08);
}

.reward__bar{
  position: absolute;
  left: 200px;
  top: 0;
  bottom: 0;
  width: 200px;
  height: 20px;          /* длина зелёной полоски как на макете — подгони */
  background: #0aa15a;
}

/* заголовок */
.reward__title{
  margin: 0;
  letter-spacing: .8px;
  text-transform: uppercase;
  line-height: 1.15;
  font-size: 26px;
  color: #fff;
  min-height: 90px;
  display: grid;
  align-content: start;
}

/* низ */
.reward__bottom{
  position: relative;
  margin-top: auto;
  display: flex;
  justify-content: center; /* ✅ по центру */
  align-items: center;
  padding-top: 16px;       /* подгони под макет */
}

.reward__status{
  font-size: 14px;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  text-align: center;      /* на всякий */
  width: 100%;
}

.reward__status--ok{
  color: #0aa15a;
}

/* серый уголок снизу справа как на макете */
.reward__corner{
  position: absolute;
  right: -40px;
  bottom: -40px;
  pointer-events: none;
  rotate: 90deg;
}

.reward__corner{ display: none; }
.reward--active .reward__corner{ display: block; }

/* активная карточка чуть ярче */
.reward--active{
  background: #222120;
}



/* =========================
   Career Modal (no JS)
========================= */

.careerModal__toggle{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(50%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

.careerModal{
  position: fixed;
  inset: 0;
  z-index: 9999;

  display: grid;
  place-items: center;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  padding: 40px;
}

.careerModal__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
}

.careerModal__dialog{
  position: relative;
  background: #1F1E1D;
}

.careerModal__close{
  position: absolute;
  top: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  cursor: pointer;
  background: transparent;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  z-index: 2;
  opacity: .9;
}
.careerModal__close:hover{ opacity: 1; transform: translateY(-1px); }

.careerModal__grid{
  display: grid;
  grid-template-columns: 700px 1fr;
  height: auto;
}

.careerModal__left{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 40px;
  background: #191918;
  width: 700px;
}

.careerModal__brandTop{
  font-size: 50px !important;
  line-height: 1;
  text-transform: uppercase;
}
.careerModal__brandSub{
  margin-top: 6px;
  letter-spacing: 10px;
  color: #807DB7;
  text-transform: uppercase;
  font-size: 12px !important;
}
.careerModal__brand{
  margin-bottom: 40px;
}

.careerModal__form{
  display: grid;
  gap: 20px;
}

.careerModal__input{
  width: 100%;
  height: 90px;
  padding: 0 28px;
  background: #151514;
  border:solid 5px #191918;
  color: #fff;
  text-transform: uppercase;
  font-size: 12px !important;
}
.careerModal__input::placeholder{
  color: rgba(255,255,255,.20);
}

.careerModal__contact{
  margin-top: 10px;
  text-align: center;
}
.careerModal__contactTitle{
  color: rgba(255,255,255,.8);
  text-transform: uppercase;
  font-size: 12px !important;
  margin-bottom: 14px;
  justify-content: center;
}

.careerModal__socials{
  display: flex;
  gap: 20px;
   align-items: center;
   align-content: center;
   text-align: center;
   justify-content: center;
}
.careerModal__social{
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  background: #151514;
  border: 2px solid #20201f;
  color: #fff;
  font-size: 18px;
  text-transform: uppercase;
}
.careerModal__social:hover{
  background: #1d1d1c;
  transform: translateY(-2px);
}

/* =========================
   Career socials -> nickname expander (как на видео)
   ========================= */

.careerModal__socials{
  position: relative;
  width: 100%;
  min-height: 110px; /* высота как у .card_sub_btn */
}

.careerModal__contactToggle{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  white-space: nowrap;
  clip-path: inset(50%);
  clip: rect(0 0 0 0);
  overflow: hidden;
}

/* если используешь .card_sub_btn как <label> */
.careerModal__socialChip{
  display: grid;
  place-items: center;
  cursor: pointer;
  user-select: none;
  transition: transform .22s ease, opacity .22s ease, background .22s ease;
}

/* раскрывающаяся панель */
.careerModal__nick{
  position: absolute;
  inset: 0;
  height: 110px;
  box-sizing: border-box;

  display: grid;
  grid-template-columns: 110px 1fr 110px;
  align-items: stretch;

  background: #151514;
  border: solid 5px #191918;

  opacity: 0;
  transform: scaleX(.2);
  transform-origin: left center;
  pointer-events: none;

  transition: opacity .25s ease, transform .25s ease;
}

.careerModal__nickIcon{
  display: grid;
  place-items: center;
  background: #151514;
  border-right: solid 5px #191918;
}

.careerModal__nickInput{
  appearance: auto;
  width: 100%;
  height: 100%;
  box-sizing: border-box;

  border: none;
  outline: none;

  background: #151514;
  color: #fff;
  text-transform: uppercase;
  font-size: 12px !important;
  padding: 0 28px;
}

.careerModal__nickInput::placeholder{
  color: rgba(255,255,255,20);
}

.careerModal__nickClose{
  display: grid;
  place-items: center;

  background: #151514;
  margin-left: 5px;

  cursor: pointer;
  color: #fff;
  font-size: 34px;
  line-height: 1;
  user-select: none;

  transition: transform .2s ease, background .2s ease, opacity .2s ease;
}

.careerModal__submit:disabled{
  cursor: not-allowed;
  opacity: .45;
}

/* ВАЖНО: hover только когда кнопка НЕ disabled */
.careerModal__submit:not(:disabled):hover{
  background: #817CA6;
  color: #fff;
}

.careerModal__nickClose:hover{
  background: #1d1d1c;
}

/* при выборе соцсети — скрываем 3 иконки */
#careerContactTg:checked ~ .careerModal__socialChip,
#careerContactDs:checked ~ .careerModal__socialChip,
#careerContactVk:checked ~ .careerModal__socialChip{
  opacity: 0;
  transform: scale(.96);
  pointer-events: none;
}

/* показываем нужную панель */
#careerContactTg:checked ~ .careerModal__nick--tg{
  opacity: 1;
  transform: scaleX(1);
  pointer-events: auto;
}
#careerContactDs:checked ~ .careerModal__nick--ds{
  opacity: 1;
  transform: scaleX(1);
  pointer-events: auto;
}
#careerContactVk:checked ~ .careerModal__nick--vk{
  opacity: 1;
  transform: scaleX(1);
  pointer-events: auto;
}


.careerModal__submit{
  margin-top: 24px;
  height: 110px;
  width: 100%;
  background: #1F1E1D;
  border: none;
  color: #565655;
  text-transform: uppercase;
  font-size: 12px !important;
  cursor: pointer;
  transition: all 0.3s ease;
}
.careerModal__submit:hover{ 
  background: #817CA6;
  color: #fff; 
  transition: all 0.3s ease;
}

.careerModal__agree{
  display: flex;
  gap: 14px;
  align-items: center;
  color: rgba(255,255,255,.70);
  text-transform: uppercase;
  font-size: 10px !important;
}

input {
  appearance: none;
  width: 30px;
  height: 30px; 
  border: 3px solid #2A2A2A;
  background-color: #1F1E1D;
  cursor: pointer;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  margin: 0;
}

input:checked{
  appearance: auto;
}

/* чекбоксы (чтобы НЕ ломать текстовые input'ы) */
input[type="checkbox"] {
  appearance: none;
  width: 30px;
  height: 30px;
  border: 3px solid #2A2A2A;
  background-color: #1F1E1D;
  cursor: pointer;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  margin: 0;
}

input[type="checkbox"]:checked{
  appearance: auto;
}


.careerModal__right{
  padding: 40px;
  display: grid;
  gap: 24px;
  background: #1F1E1D;
}

.careerModal__block{
  background: #2A2A2A;
  display: grid;
  grid-template-rows: auto 1fr;
}

.careerModal__blockHead{
  padding: 40px;
  text-transform: uppercase;
  font-size: 12px !important;
  border: solid 5px #2A2A2A;
}

.careerModal__area{
  width: 100%;
  padding: 20px;
  background: #1F1E1D;
  outline: none;
  resize: none;
  color: #fff;
  text-transform: uppercase;
  font-size: 12px !important;
  border: solid 5px #2A2A2A;
  border-top: 0px !important;
}
.careerModal__area::placeholder{
  color: rgba(255,255,255,.18);
}

/* show modal */
#careerVacanciesModal:checked ~ .careerModal{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.conditions{
  color: #817CA6;
  cursor: pointer;
}
.conditions:hover{
  color: #fff;
  text-decoration: underline;
}

/* попытка заблокировать скролл фона (современные браузеры) */
@supports selector(:has(*)){
  body:has(#careerVacanciesModal:checked),
  body:has(#careerTermsModal:checked){
    overflow: hidden;
  }
}


/* =========================
   Terms Modal (above Career)
========================= */

.termsModal{
  position: fixed;
  inset: 0;
  z-index: 10000; /* выше .careerModal */
  display: grid;
  place-items: center;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  padding: 40px;
}

.termsModal__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
}

.termsModal__dialog{
  position: relative;
  width: min(980px, calc(100% - 80px));
  background: #1F1E1D;
}

.termsModal__close{
  position: absolute;
  top: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  cursor: pointer;
  background: transparent;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  z-index: 2;
  opacity: .9;
}
.termsModal__close:hover{ opacity: 1; transform: translateY(-1px); }

.termsModal__content{
  padding: 40px;
  background: #2A2A2A;
  border: solid 5px #2A2A2A;
}

.termsModal__title{
  color: #fff;
  text-transform: uppercase;
  font-size: 12px !important;
  line-height: 1.35;
}

.termsModal__content p{
  margin: 18px 0 0;
  color: rgba(255,255,255,.78);
  text-transform: uppercase;
  font-size: 12px !important;
  line-height: 1.8;
}

/* show terms modal */
#careerTermsModal:checked ~ .termsModal{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* аккуратный inline-layout для текста согласия */
.careerModal__agreeText{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.modal_p_info{
  margin: 0;
}

.modal_info{
  display: flex;
  align-items: start;
  align-content: center;
  padding: 40px;
}