@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
* {
  margin: 0;
  border: 0;
  padding: 0;
}

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

:focus,
:active {
  outline: none;
}

a:focus,
a:active {
  outline: none;
}

nav,
footer,
header,
aside {
  display: block;
}

html,
body {
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  font-size: 16px;
  scroll-behavior: smooth;
}

input,
button,
textarea {
  font-family: inherit;
}

input::-ms-clear {
  display: none;
}

button {
  cursor: pointer;
  background: transparent;
}

button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

a,
a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

ul,
li {
  list-style: none;
}

img {
  vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
}

body {
  font-family: "Inter", sans-serif;
}

.lock {
  overflow: hidden;
}

.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  background: #0D2E00;
}

[class*=__container] {
  max-width: 1070px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}

.h2 {
  color: #FFF;
  font-family: Inter;
  font-size: clamp(48px, 7vw, 64px);
  font-weight: 800;
}

.h3 {
  color: #FFF;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 92%;
  letter-spacing: -0.48px;
  text-transform: uppercase;
}

.main {
  flex: 1 1 auto;
}

section {
  scroll-margin-top: 200px;
}

.text-center {
  text-align: center;
}

.header {
  position: fixed;
  width: 100%;
  padding: 12px 0;
  border-bottom: 1px solid #1F2937;
  background: #0A4900;
  z-index: 10;
}
.header__content {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.header__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header__logo {
  position: relative;
  z-index: 40;
  color: #FFF;
  font-size: 22px;
  font-weight: 800;
  line-height: 140%;
  text-transform: uppercase;
}
.header__menu {
  display: flex;
  align-items: center;
}
.header__menu a {
  color: #D1D5DB;
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
}
.header__years {
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.1);
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.header__text {
  color: #FFF;
  text-align: center;
  font-family: Montserrat;
  font-size: 16px;
  font-weight: 500;
  line-height: 140%;
}

@media (max-width: 991px) {
  .menu__icon {
    display: flex;
    align-items: center;
    z-index: 50;
    position: relative;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    cursor: pointer;
  }
  .menu__icon span, .menu__icon::before, .menu__icon::after {
    right: 0;
    position: absolute;
    height: 10%;
    width: 100%;
    transition: all 0.3s ease 0s;
    background: #fff;
  }
  .menu__icon::before, .menu__icon::after {
    content: "";
    height: 2px;
  }
  .menu__icon::before {
    top: 8px;
  }
  .menu__icon::after {
    bottom: 8px;
    height: 2px;
  }
  .menu__icon span {
    height: 2px;
    top: 50%;
    transform: scale(1) translate(0px, -50%);
  }
  .menu__icon_active span {
    transform: rotate(45deg) scale(0) translate(0px, -50%);
  }
  .menu__icon_active::before {
    top: 50%;
    transform: rotate(-45deg) translate(0px, -50%);
  }
  .menu__icon_active::after {
    bottom: 50%;
    transform: rotate(45deg) translate(0px, 50%);
  }
}
.menu__body {
  display: flex;
  align-items: center;
  gap: 32px;
}
@media (max-width: 991px) {
  .menu__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    padding: 100px 15px 0;
    background: #0A4900;
    transition: left 0.3s ease 0s;
    overflow: auto;
  }
  .menu__body_active {
    left: 0;
  }
  .menu__body::before {
    content: "";
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 16;
  }
}
.menu__list {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media (max-width: 1439px) {
  .menu__list {
    flex-direction: column;
    gap: 96px;
  }
}
.menu__link {
  color: #2C2C30;
  font-size: 18px;
  font-weight: 600;
}

.footer {
  padding: 60px 0;
}
.footer__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
.footer__icons {
  width: -moz-fit-content;
  width: fit-content;
}
.footer__icons img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.footer__partners {
  border-radius: 24px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  width: 100%;
  padding: 12px 24px;
}
.footer__partners a img {
  padding: 10px 20px;
  border-radius: 20px;
  max-width: 200px;
  width: 100%;
  object-fit: cover;
  transition: transform 0.4s ease, box-shadow 0.4s ease, filter 0.4s ease;
}

.footer__partners a img:hover {
  transform: translateY(-4px) scale(1.05);
  box-shadow: 0 0 20px rgb(255, 215, 0);
  filter: brightness(1.25) saturate(1.1);
}

.footer__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 32px;
  flex-wrap: wrap-reverse;
}
@media (max-width: 991px) {
  .footer__row {
    justify-content: center;
  }
}
.footer__text {
  color: #9F9C90;
  font-size: 14px;
  font-weight: 500;
  line-height: 140%;
}
.footer__menu {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media (max-width: 575px) {
  .footer__menu {
    flex-direction: column;
  }
}
.footer__menu a {
  color: #FFF;
  font-size: 14px;
  font-weight: 500;
  line-height: 140%;
}

.hero {
  margin: 142px 0 0;
  padding: 80px 0;
  background: linear-gradient(84deg, #0A4900 0%, #00A642 40.51%, #237500 99.12%);
}
.hero__content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.hero__title {
  color: #FD0;
  font-size: 50px;
  font-weight: 800;
}
.hero__text {
  color: #FFF;
  font-size: 25px;
  font-weight: 400;
  line-height: 32px;
}
.hero__link {
  color: #FFF;
  font-family: Montserrat;
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
  border-radius: 16px;
  background: #FD0;
  box-shadow: 0 -3px 3px 0 #7D6D00 inset;
  padding: 15px 24px;
  width: -moz-fit-content;
  width: fit-content;
}

.about {
  padding: 80px 0;
}
.about__content {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.about__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 64px 40px;
}
@media (max-width: 575px) {
  .about__grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}
.about__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.about__name {
  color: #FFF;
  text-align: center;
  font-size: 25px;
  font-weight: 700;
  line-height: 32px;
}
.about__text {
  color: #FFF;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
}

.play {
  padding: 100px 0;
  background: linear-gradient(135deg, #237500 0%, #0A4900 50%, #00A642 100%);
}
.play__content {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.play__column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.play__text {
  color: #FFF;
  font-size: 25px;
  font-weight: 700;
  line-height: 32px;
}
.play__block {
  border-radius: 16px;
  border: 1px solid rgba(55, 65, 81, 0.5);
  background: rgba(255, 255, 255, 0.05);
  padding: 40px;
  position: relative;
}
.play__img {
  width: -moz-fit-content;
  width: fit-content;
}
.play__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.play__link {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 120px;
}
@media (max-width: 575px) {
  .play__link {
    bottom: auto;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

.work {
  padding: 80px 0;
}
.work__contnet {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.work__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
@media (max-width: 991px) {
  .work__grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.work__card {
  border-radius: 12px;
  border: 1px solid #2CFF61;
  background: rgba(44, 63, 35, 0.34);
  box-shadow: 0 0 22px 0 #2CFF61;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 33px;
}
.work__name {
  color: #FFF;
  font-size: 21px;
  font-weight: 700;
  line-height: 28px;
}

.number {
  padding: 80px 0;
}
.number__content {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.number__column {
  max-width: 597px;
  width: 100%;
  margin: 0 auto;
  padding: 60px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 32px 60px;
  border-radius: 16px;
  border: 1px solid #FD0;
  background: #17340C;
  box-shadow: 0 4px 26.4px 0 rgba(255, 221, 0, 0.32);
}
.number__card {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.number__num {
  color: #FD0;
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  line-height: 32px;
}
.number__text {
  color: #D1D5DB;
  text-align: center;
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
}

.reviews {
  padding: 80px 0;
}
.reviews__content {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.reviews__column {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.reviews__card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 12px;
  border: 1px solid #FFF;
  background: #032510;
  padding: 33px;
}
.reviews__name {
  color: #FFF;
  font-size: 17px;
  font-weight: 700;
  line-height: 24px;
}
.reviews__text {
  color: #FFF;
  font-size: 17px;
  font-weight: 400;
  line-height: 26px;
}

.contact {
  padding: 80px 0;
}
.contact__content {
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.contact__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
.contact__text {
  color: #FFF;
  text-align: center;
  font-size: 25px;
  font-weight: 400;
  line-height: 32px;
}
.contact__address {
  color: #FFF;
  text-align: center;
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
}
.contact__form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 624px;
  width: 100%;
  margin: 0 auto;
  border-radius: 12px;
  border: 1px solid #FFF;
  background: #032510;
  padding: 32px 24px;
}
.contact__inp {
  width: 100%;
  border-radius: 8px;
  border: 1px solid #FFF;
  padding: 8px 16px;
  background: transparent;
  color: #FFF;
  text-align: center;
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
}
.contact__inp::-moz-placeholder {
  color: #FFF;
}
.contact__inp::placeholder {
  color: #FFF;
}
.contact__btn {
  width: 100%;
}
.contact__column {
  border-radius: 16px;
  border: 1px solid #374151;
  background: #272727;
  padding: 60px 40px;
}
.contact__title-sub {
  color: #FFF;
  font-size: 36px;
  font-weight: 700;
  line-height: 32px;
  margin-bottom: 24px;
}
.contact__txt {
  color: #D1D5DB;
  font-size: 17px;
  font-weight: 400;
  line-height: 24px;
}

.privacy {
  margin: 160px 0 0;
  background: #fff;
  padding: 60px 0;
}
.privacy__title {
  color: #1B1816;
  text-align: center;
  font-family: Inter;
  font-size: clamp(28px, 7vw, 50px);
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 40px;
}
.privacy__text {
  color: #1B1816;
  font-family: Inter;
  font-size: 20px;
  font-weight: 400;
}


/*-----------------------*/

/* Modal Styles */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(4, 39, 0, 0.35); /* прозрачный слой */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* основной блок */
.modal-content {
  background: rgba(13, 50, 5, 0.3); /* зелёный с прозрачностью */
  backdrop-filter: blur(25px) saturate(180%);
  -webkit-backdrop-filter: blur(25px) saturate(180%);
  border: 1px solid rgba(72, 255, 0, 0.25);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
  border-radius: 20px;
  padding: 40px 50px;
  width: 90%;
  max-width: 700px;
  text-align: center;
  color: #fff;
  transition: all 0.3s ease;
}

.modal-content h2 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #ffffff;
}

.modal-content p {
  font-size: 16px;
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
}

.modal-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
}

/* Button Styles */
.btn-primary {
  background: linear-gradient(91.2deg, #35bc00 0%, #008f4f 96%);
  box-shadow: 0px -3px 3px 0px rgb(197, 255, 150) inset;


  display: flex;
  justify-content: center;
  align-items: center;
  width: max-content;
  max-width: 100%;
  color: white;
  border: none;
  padding: 12px 30px;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 600;
  font-style: Italic;
  font-size: 18px;
  line-height: 100%;
  text-decoration: unset;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(83, 4, 5, 0.4);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.2);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 12px 30px;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 600;
  font-style: Italic;
  font-size: 18px;
  line-height: 100%;
}

.btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(83, 4, 5, 0.4);
}

.btn-large {
  padding: 15px 40px;
  font-size: 16px;
}

/* Black Screen */
.black-screen-content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 10000;
}

.black-screen-content h2 {
  font-size: 36px;
  margin-bottom: 20px;
  color: #ffffff;
}

.black-screen-content p {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.7);
}



.game-showcase {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid rgba(55, 65, 81, 0.5);
  background: rgba(255, 255, 255, 0.05);
  width: 100%;
  max-width: 820px;
  aspect-ratio: 16 / 9;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgb(122, 188, 84);
  margin-bottom: 40px;
}

.game-showcase iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 3px solid #5ebc54;
  border-radius: 22px;
}