/*Обнуление*/
* {
  padding: 0;
  margin: 0;
  border: 0;
}
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
:focus, :active {
  outline: none;
}
a:focus, a:active {
  outline: none;
}
nav, footer, header, aside {
  display: block;
}
html, body {
  width: 100%;
  font-size: 100%;
  line-height: 1;
  font-size: 14px;
  margin: 0;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
input, button, textarea {
  font-family: inherit;
}
input::-ms-clear {
  display: none;
}
button {
  cursor: pointer;
}
button::-moz-focus-inner {
  padding: 0;
  border: 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-size: inherit;
  font-weight: inherit;
}
/*--------------------*/


/* Vars */
:root {
  --main: #4AC25E;
  --main-rgb: 74, 194, 94;
  --secondary: #E0FFE5;
  --secondary-rgb: 224, 255, 229;
  --gray: #F3F3F3;

  --wh: #Fff;
  --wh-rgb: 255, 255, 255;
  --bl: #000;
  --bl-rgb: 0, 0, 0;

  --fs-hero: 40px;   /* big title */
  --fs-h1: 30px;     /* title */
  --fs-h2: 25px;     /* subtitle */
  --fs-btn-lg: 30px; /* big button */
  --fs-btn-sm: 20px; /* small button */
  --fs-base: 14px;   /* nav, footer */
  --fs-meta: 12px;   /* city, etc */

  --bd-big: 25px;
  --bd-base: 20px;
  --bd-sm: 8px;
}


body{
  font-family: 'Inter', sans-serif;
}

.container{
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
@media (max-width: 1440px) {
  .container {
    max-width: 1200px;
    padding: 0 30px;
  }
}

@media (max-width: 1024px) {
  .container {
    max-width: 940px;
  }
}

@media (max-width: 768px) {
  .container {
    max-width: 100%;
    padding: 0 20px;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 0 16px;
  }
}

.big-title{
  font-size: var(--fs-hero);
  font-weight: bold;
  line-height: 120%;
}

.card{
  background-color: var(--main);
  border-radius: 15px;
}

.card-body{
  padding: 20px;
}
.card .title{
  color: #fff;
}
.card .subtitle{
  color: #fff;
}

.card.light{
  background-color: var(--secondary);
}
.card.light .title{
  color: var(--main);
}
.card.light .subtitle{
  color: var(--bl);
}

.accent{
  color: var(--main);
}

.grid{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.text-white{
  color: #fff !important;
}

.text-black{
  color: var(--bl) !important;
}

.pointer{
  cursor: pointer;
}

.section{
  margin-top: 120px;
}

.h-title{
  font-size: 2em;
  font-weight: 700;
  margin: 20px 0px;
}

/* Fade-in animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-up {
  animation: fadeInUp 0.8s ease-out forwards;
  opacity: 0;
}

.fade-in-up.delay-1 {
  animation-delay: 0.3s;
}

.fade-in-up.delay-2 {
  animation-delay: 0.6s;
}

.fade-in-up.delay-3 {
  animation-delay: 0.9s;
}