/* Базовий CSS reset */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  scroll-behavior: smooth;
  height: 100%;
  width: 100%;
  font-family: sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  text-rendering: optimizeSpeed;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
  border: none;
  outline: none;
  background: none;
}

ul, ol {
  list-style: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* ----------- */


/* assets/css/style.css */
body.body {
  font-family: 'Inter', Arial, sans-serif;
  color: #1A202C;
  background: #F8FAFC;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  box-sizing: border-box;
  transition: background 0.3s;
}

h1, h2, h3, h4 {
  font-family: 'Manrope', Arial, sans-serif;
  color: #1A202C;
  margin: 0 0 0.7em 0;
  font-weight: 700;
  letter-spacing: 0.01em;
}

a {
  color: #17A398;
  text-decoration: none;
  transition: color 0.2s;
}
a:hover {
  color: #457B9D;
}

button, .btn {
  font-family: 'Manrope', Arial, sans-serif;
  background: #17A398;
  color: #fff;
  padding: 0.7em 2em;
  border-radius: 2em;
  border: none;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(23,163,152,0.07);
  transition: background 0.2s, box-shadow 0.2s;
}
button:hover, .btn:hover {
  background: #457B9D;
  box-shadow: 0 4px 12px rgba(69,123,157,0.11);
}

::-webkit-scrollbar {
  width: 8px;
  background: #ECECEC;
}
::-webkit-scrollbar-thumb {
  background: #17A398;
  border-radius: 4px;
}
.header {
  background: #fff;
  box-shadow: 0 2px 16px rgba(17, 36, 54, 0.06);
  position: sticky;
  top: 0;
  z-index: 20;
  width: 100%;
  transition: box-shadow 0.3s;
}
.header__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.8em 2vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header__logo {
  font-family: 'Manrope', Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5em;
  color: #17A398;
  letter-spacing: 0.03em;
  background: linear-gradient(90deg, #17A398 40%, #457B9D 90%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  user-select: none;
  cursor: pointer;
}
.header__logo-icon {
  font-size: 1.3em;
  color: #17A398;
  transition: transform 0.25s cubic-bezier(.43,1.08,.7,.99);
}
.header__logo:hover .header__logo-icon {
  transform: rotate(-10deg) scale(1.18);
}
.header__flag {
  font-size: 1.3em;
  margin-left: 0.2em;
  filter: grayscale(0.1) brightness(1.1);
}

.header__nav {
  display: flex;
  align-items: center;
}
.header__nav-list {
  display: flex;
  gap: 2.5em;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header__nav-link {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.08em;
  color: #1A202C;
  display: flex;
  align-items: center;
  gap: 0.7em;
  padding: 0.3em 0.5em;
  border-radius: 1.2em;
  position: relative;
  font-weight: 600;
  transition: background 0.17s, color 0.17s;
}
.header__nav-link i {
  font-size: 1.11em;
  transition: transform 0.2s;
}

.header__nav-link:hover, .header__nav-link:focus {
  background: #F0FAF8;
  color: #17A398;
}
.header__nav-link:hover i, .header__nav-link:focus i {
  transform: scale(1.23) rotate(-8deg);
}

.header__nav-link::after {
  content: '';
  display: block;
  width: 0%;
  height: 2px;
  background: linear-gradient(90deg, #17A398, #457B9D);
  transition: width 0.2s;
  position: absolute;
  left: 0.7em; bottom: 0;
}
.header__nav-link:hover::after, .header__nav-link:focus::after {
  width: 75%;
}

/* Бургер-меню */
.header__burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 44px; height: 44px;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 30;
}
.header__burger span {
  display: block;
  height: 3px;
  width: 28px;
  background: #17A398;
  border-radius: 2px;
  margin: 5px 0;
  transition: all 0.24s cubic-bezier(.73,.18,.64,1.25);
}

/* Для мобільних */
@media (max-width: 820px) {
  .header__nav {
    position: fixed;
    top: 70px;
    right: -320px;
    width: 270px;
    height: 100vh;
    background: #fff;
    box-shadow: -2px 0 18px rgba(17,36,54,0.09);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 2em 1.5em 2em 2em;
    transition: right 0.28s;
    z-index: 28;
  }
  .header__nav--open {
    right: 0;
  }
  .header__nav-list {
    flex-direction: column;
    gap: 2em;
    width: 100%;
  }
  .header__burger {
    display: flex;
  }
}

/* Анімація бургер-меню */
.header__burger.open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.header__burger.open span:nth-child(2) {
  opacity: 0;
}
.header__burger.open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}
.footer {
  background: linear-gradient(100deg, #F8FAFC 60%, #E6F5F2 100%);
  padding: 3.5em 0 1em 0;
  border-top: 2px solid #17A39812;
  font-size: 1em;
  color: #294052;
  box-shadow: 0 -2px 18px rgba(17,36,54,0.05);
  position: relative;
}
.footer__container {
  display: grid;
  grid-template-columns: 2fr 1.1fr 1.4fr 1.6fr;
  gap: 2.5em;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2vw;
}
.footer__col {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.1em;
}
.footer__col--logo {
  gap: 0.6em;
}
.footer__logo {
  font-family: 'Manrope', Arial, sans-serif;
  font-size: 1.35em;
  font-weight: 700;
  color: #17A398;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-bottom: 0.15em;
}
.footer__logo i {
  font-size: 1.3em;
  color: #457B9D;
  transition: transform 0.22s;
}
.footer__logo:hover i {
  transform: scale(1.22) rotate(-8deg);
}
.footer__flag {
  font-size: 1.1em;
  margin-left: 0.18em;
  filter: grayscale(0.1) brightness(1.07);
}
.footer__desc {
  color: #6b8a9c;
  font-size: 0.98em;
  margin-bottom: 0.25em;
  line-height: 1.4;
}

.footer__title {
  font-size: 1.07em;
  font-family: 'Manrope', Arial, sans-serif;
  color: #457B9D;
  font-weight: 700;
  margin-bottom: 0.3em;
  letter-spacing: 0.02em;
}

.footer__nav-list,
.footer__info-list,
.footer__contacts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6em;
}
.footer__nav-list li a,
.footer__info-list li a {
  color: #294052;
  text-decoration: none;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.6em;
  transition: color 0.17s;
  position: relative;
}
.footer__nav-list li a:hover,
.footer__info-list li a:hover {
  color: #17A398;
  text-shadow: 0 1px 7px #17A39810;
}
.footer__nav-list li a i {
  color: #457B9D;
  font-size: 1em;
  transition: transform 0.21s;
}
.footer__nav-list li a:hover i {
  transform: scale(1.19) rotate(-7deg);
}

.footer__contacts li {
  display: flex;
  align-items: flex-start;
  gap: 0.7em;
  font-size: 1em;
  margin-bottom: 0.1em;
}
.footer__contacts i {
  color: #17A398;
  font-size: 1.06em;
  margin-top: 2px;
  transition: transform 0.19s;
}
.footer__contacts a {
  color: #294052;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.16s;
  word-break: break-all;
}
.footer__contacts a:hover {
  color: #457B9D;
}
.footer__contacts li:hover i {
  transform: scale(1.15) rotate(-8deg);
}

.footer__bottom {
  border-top: 1px solid #17A39818;
  margin-top: 2.5em;
  text-align: center;
  color: #8eaab7;
  font-size: 0.97em;
  padding: 0.8em 0 0.2em 0;
  letter-spacing: 0.03em;
  background: transparent;
}

/* Адаптив */
@media (max-width: 950px) {
  .footer__container {
    grid-template-columns: 1fr 1fr;
    gap: 2em 1.4em;
  }
}
@media (max-width: 600px) {
  .footer {
    padding: 2em 0 0.7em 0;
  }
  .footer__container {
    grid-template-columns: 1fr;
    gap: 1.3em;
    padding: 0 6vw;
  }
  .footer__col {
    gap: 0.7em;
  }
  .footer__bottom {
    font-size: 0.92em;
    margin-top: 1em;
  }
}
.hero {
  min-height: 78vh;
  display: flex;
  align-items: center;
  background: linear-gradient(95deg, #F8FAFC 65%, #E0FFF6 100%);
  padding: 2.8em 0 2.4em 0;
  position: relative;
  overflow: hidden;
}
.hero__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.3em;
  width: 100%;
  position: relative;
}
.hero__left {
  flex: 1.2 1 0;
  z-index: 2;
}
.hero__title {
  font-family: 'Manrope', Arial, sans-serif;
  font-size: clamp(2.1em, 4vw, 3.5em);
  font-weight: 700;
  line-height: 1.14;
  color: #1A202C;
  margin-bottom: 0.42em;
  display: flex;
  flex-wrap: wrap;
  gap: 0.19em;
  align-items: center;
  position: relative;
}
.hero__accent {
  color: #17A398;
  background: linear-gradient(90deg,#17A398 70%,#457B9D 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-right: 0.12em;
  font-weight: 900;
  letter-spacing: 0.02em;
  position: relative;
  z-index: 2;
}
.hero__wave {
  display: inline-block;
  font-size: 1.3em;
  margin-left: 0.12em;
  vertical-align: middle;
  animation: waveAnim 2.4s infinite linear;
}
@keyframes waveAnim {
  0%   { transform: rotate(0deg);}
  10%  { transform: rotate(10deg);}
  20%  { transform: rotate(-9deg);}
  28%  { transform: rotate(7deg);}
  36%  { transform: rotate(-6deg);}
  40%  { transform: rotate(0deg);}
  100% { transform: rotate(0deg);}
}
.hero__subtitle {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.18em;
  color: #294052;
  opacity: 0.98;
  line-height: 1.5;
  margin-bottom: 1.6em;
  font-weight: 500;
  max-width: 520px;
  position: relative;
}
.hero__tag {
  display: inline-block;
  background: #17A39822;
  color: #17A398;
  border-radius: 1em;
  padding: 0.28em 1.1em 0.25em 0.95em;
  font-size: 0.97em;
  margin-top: 0.8em;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: background 0.22s;
}
.hero__tag i {
  margin-right: 0.3em;
  color: #457B9D;
}
.hero__btn {
  margin-top: 0.5em;
  font-size: 1.11em;
  padding: 0.75em 2.5em;
  box-shadow: 0 4px 24px #17A39811;
  background: linear-gradient(92deg,#17A398 80%,#457B9D 100%);
  border: none;
  outline: none;
  transition: transform 0.17s, box-shadow 0.23s, background 0.25s;
  position: relative;
  z-index: 2;
}
.hero__btn:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 7px 28px #457B9D22;
  background: linear-gradient(93deg,#457B9D 50%,#17A398 100%);
}
.hero__btn i {
  margin-right: 0.65em;
  font-size: 1.17em;
  vertical-align: middle;
}

.hero__right {
  flex: 0.92 1 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.hero__img-wrap {
  position: relative;
  width: 350px;
  max-width: 90vw;
  aspect-ratio: 1/1;
  z-index: 1;
}
.hero__img {
  width: 100%;
  border-radius: 1.8em;
  box-shadow: 0 8px 34px #17A39816, 0 1.5px 8px #457B9D10;
  object-fit: cover;
  position: relative;
  z-index: 2;
  animation: heroFadeIn 1.3s cubic-bezier(.44,.95,.68,1.13) both;
}
@keyframes heroFadeIn {
  0%   { opacity: 0; transform: scale(1.07) translateY(42px);}
  80%  { opacity: 1;}
  100% { opacity: 1; transform: scale(1.0) translateY(0);}
}
.hero__circle {
  position: absolute;
  top: -28px; right: -35px;
  width: 95px; height: 95px;
  background: linear-gradient(135deg,#FFDD57 0%, #17A398 100%);
  border-radius: 50%;
  opacity: 0.17;
  filter: blur(2px);
  z-index: 1;
  animation: circleFloat 5.5s infinite ease-in-out alternate;
}
.hero__circle--sm {
  top: auto; bottom: -23px; left: -22px; right: auto;
  width: 42px; height: 42px;
  background: linear-gradient(120deg,#457B9D 0%, #FFDD57 90%);
  opacity: 0.23;
  animation: circleFloat2 6.5s infinite ease-in-out alternate;
}
@keyframes circleFloat {
  0% {transform: translateY(0) scale(1);}
  60% {transform: translateY(18px) scale(1.11);}
  100% {transform: translateY(-9px) scale(1.08);}
}
@keyframes circleFloat2 {
  0% {transform: translateX(0) scale(1);}
  50% {transform: translateX(18px) scale(1.07);}
  100% {transform: translateX(-13px) scale(1.13);}
}

/* Адаптивність */
@media (max-width: 950px) {
  .hero__container {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.5em;
    min-height: 65vh;
  }
  .hero__left, .hero__right {
    width: 100%;
    flex: 1 1 100%;
  }
  .hero__right {
    display: flex;
    justify-content: flex-start;
    margin-top: 0.5em;
  }
  .hero__img-wrap {
    width: 220px;
  }
}
@media (max-width: 600px) {
  .hero {
    min-height: 50vh;
    padding: 1.5em 0 1.2em 0;
  }
  .hero__container {
    padding: 0 5vw;
    gap: 1.5em;
  }
  .hero__img-wrap {
    width: 125px;
    min-width: 100px;
    margin-bottom: 0.7em;
  }
  .hero__subtitle {
    font-size: 1em;
    margin-bottom: 1.1em;
  }
}
.about {
  background: linear-gradient(100deg, #E0FFF6 60%, #F8FAFC 100%);
  padding: 3.8em 0 2.8em 0;
  position: relative;
  overflow: hidden;
}
.about__container {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 2vw;
}
.about__header {
  text-align: left;
  margin-bottom: 2.3em;
}
.about__title {
  font-family: 'Manrope', Arial, sans-serif;
  color: #17A398;
  font-size: 2.1em;
  font-weight: 800;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  gap: 0.4em;
  margin-bottom: 0.55em;
}
.about__title i {
  color: #457B9D;
  font-size: 1.13em;
  animation: aboutSeedling 2.5s infinite linear;
}
@keyframes aboutSeedling {
  0% { transform: rotate(-7deg);}
  60% { transform: rotate(9deg);}
  100% { transform: rotate(-7deg);}
}
.about__subtitle {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.13em;
  color: #294052;
  max-width: 590px;
  line-height: 1.6;
  opacity: 0.98;
  font-weight: 500;
  margin-bottom: 0.1em;
}
.about__subtitle span {
  color: #17A398;
  font-weight: 700;
  font-family: 'Manrope', Arial, sans-serif;
}

.about__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.1em;
}
.about__card {
  background: #fff;
  border-radius: 1.4em;
  box-shadow: 0 6px 22px #17A39813;
  padding: 2.1em 1.5em 1.6em 1.5em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
  position: relative;
  transition: transform 0.17s, box-shadow 0.21s;
  cursor: pointer;
  min-height: 270px;
  z-index: 1;
}
.about__card:hover {
  transform: translateY(-7px) scale(1.03) rotate(-1.3deg);
  box-shadow: 0 10px 34px #17A39825;
}
.about__icon {
  font-size: 2.15em;
  color: #17A398;
  background: #17A39816;
  border-radius: 1em;
  padding: 0.41em 0.54em;
  margin-bottom: 0.38em;
  transition: background 0.22s, color 0.15s, transform 0.2s;
  box-shadow: 0 2px 12px #17A39813;
  display: inline-block;
}
.about__card:hover .about__icon {
  background: #457B9D16;
  color: #457B9D;
}
.about__card-title {
  font-size: 1.18em;
  font-family: 'Manrope', Arial, sans-serif;
  font-weight: 700;
  color: #294052;
  margin-bottom: 0.28em;
}
.about__card-text {
  font-size: 1em;
  color: #487585;
  opacity: 0.98;
  font-family: 'Inter', Arial, sans-serif;
  line-height: 1.48;
  font-weight: 500;
}

/* Мікроанімації іконок */
.about__icon--pulse {
  animation: aboutPulse 1.6s infinite alternate;
}
@keyframes aboutPulse {
  0% { box-shadow: 0 0 0 #17A39813; }
  80% { box-shadow: 0 0 24px #17A39833; }
  100% { box-shadow: 0 0 0 #17A39813; }
}
.about__icon--spin {
  animation: aboutSpin 2.7s infinite linear;
}
@keyframes aboutSpin {
  0% { transform: rotate(0deg);}
  100% { transform: rotate(360deg);}
}
.about__icon--pop {
  animation: aboutPop 1.9s infinite cubic-bezier(.5,.05,.92,.48);
}
@keyframes aboutPop {
  0% { transform: scale(1);}
  62% { transform: scale(1.22);}
  100% { transform: scale(1);}
}
.about__icon--wave {
  animation: aboutWave 2.2s infinite linear;
}
@keyframes aboutWave {
  0% { transform: rotate(-6deg);}
  60% { transform: rotate(9deg);}
  100% { transform: rotate(-6deg);}
}

/* Адаптивність */
@media (max-width: 950px) {
  .about__cards {
    grid-template-columns: 1fr 1fr;
    gap: 1.4em;
  }
}
@media (max-width: 650px) {
  .about {
    padding: 2.2em 0 1.2em 0;
  }
  .about__header {
    margin-bottom: 1.1em;
  }
  .about__cards {
    grid-template-columns: 1fr;
    gap: 1em;
  }
  .about__card {
    min-height: 0;
    padding: 1.1em 0.9em 1em 0.9em;
  }
}
.info-block {
  background: linear-gradient(98deg,#F8FAFC 60%, #FFFCE2 100%);
  padding: 3.3em 0 2.7em 0;
  position: relative;
}
.info-block__container {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 2vw;
}
.info-block__header {
  margin-bottom: 2em;
}
.info-block__title {
  font-family: 'Manrope', Arial, sans-serif;
  color: #457B9D;
  font-size: 2em;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.35em;
  margin-bottom: 0.4em;
}
.info-block__title i {
  color: #17A398;
  font-size: 1.1em;
  animation: infoIconBounce 2s infinite;
}
@keyframes infoIconBounce {
  0% { transform: translateY(0);}
  20% { transform: translateY(-6px);}
  40% { transform: translateY(0);}
  100% { transform: translateY(0);}
}
.info-block__subtitle {
  color: #294052;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.13em;
  max-width: 530px;
  line-height: 1.5;
  opacity: 0.95;
  font-weight: 500;
}

.info-block__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.1em;
}
.info-block__card {
  background: #fff;
  border-radius: 1.25em;
  box-shadow: 0 5px 22px #457B9D10;
  padding: 2.1em 1.1em 1.2em 1.1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.16s, box-shadow 0.18s;
  position: relative;
  cursor: pointer;
  min-height: 208px;
}
.info-block__card:hover {
  transform: translateY(-7px) scale(1.025);
  box-shadow: 0 12px 36px #457B9D22;
}
.info-block__icon {
  font-size: 2.3em;
  color: #FFDD57;
  background: #17A3981a;
  border-radius: 50%;
  padding: 0.39em 0.47em;
  margin-bottom: 0.46em;
  transition: background 0.18s, color 0.18s;
  box-shadow: 0 1.5px 12px #457B9D11;
  display: inline-block;
}
.info-block__card:hover .info-block__icon {
  background: #FFDD5744;
  color: #17A398;
}
.info-block__fact-title {
  font-size: 1.12em;
  font-family: 'Manrope', Arial, sans-serif;
  color: #17A398;
  font-weight: 700;
  margin-bottom: 0.3em;
  letter-spacing: 0.02em;
  text-align: center;
}
.info-block__fact-num {
  font-family: 'Manrope', Arial, sans-serif;
  font-size: 2.1em;
  color: #457B9D;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin: 0.3em 0 0.15em 0;
  transition: color 0.17s;
  min-height: 1.2em;
}
.info-block__progress-bar {
  width: 88%;
  height: 16px;
  background: #F3F7F9;
  border-radius: 1em;
  overflow: hidden;
  margin: 0.9em 0 0.45em 0;
  box-shadow: 0 1px 4px #457B9D13;
}
.info-block__progress {
  height: 100%;
  width: 0%;
  background: linear-gradient(92deg, #17A398 55%, #FFDD57 100%);
  border-radius: 1em;
  transition: width 1.3s cubic-bezier(.57,.15,.51,.95);
}
.info-block__fact-desc {
  color: #7CA085;
  font-size: 1em;
  text-align: center;
  margin-top: 0.6em;
  font-family: 'Inter', Arial, sans-serif;
  opacity: 0.9;
}

@media (max-width: 950px) {
  .info-block__cards {
    grid-template-columns: 1fr 1fr;
    gap: 1.3em;
  }
}
@media (max-width: 600px) {
  .info-block {
    padding: 1.4em 0 1em 0;
  }
  .info-block__cards {
    grid-template-columns: 1fr;
    gap: 1em;
  }
  .info-block__header {
    margin-bottom: 1.1em;
  }
}
.blog {
  background: linear-gradient(92deg, #F8FAFC 80%, #E0FFF6 100%);
  padding: 3.5em 0 2.7em 0;
  position: relative;
}
.blog__container {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 2vw;
}
.blog__header {
  margin-bottom: 2.3em;
}
.blog__title {
  font-family: 'Manrope', Arial, sans-serif;
  color: #17A398;
  font-size: 2em;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.33em;
  margin-bottom: 0.33em;
}
.blog__title i {
  color: #457B9D;
  font-size: 1.13em;
  animation: blogNewsPulse 2s infinite alternate;
}
@keyframes blogNewsPulse {
  0% { opacity: 1;}
  70% { opacity: 0.7;}
  100% { opacity: 1;}
}
.blog__subtitle {
  color: #294052;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.1em;
  max-width: 540px;
  line-height: 1.5;
  opacity: 0.95;
  font-weight: 500;
}

.blog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2em;
}
.blog__card {
  background: #fff;
  border-radius: 1.4em;
  box-shadow: 0 4px 20px #457B9D13;
  display: flex;
  flex-direction: column;
  transition: transform 0.15s, box-shadow 0.17s;
  cursor: pointer;
  padding: 0 0 1.5em 0;
  min-height: 410px;
  position: relative;
  overflow: hidden;
}
.blog__card:hover {
  transform: translateY(-7px) scale(1.035) rotate(-1deg);
  box-shadow: 0 12px 40px #17A39828;
}
.blog__img-link {
  display: block;
  overflow: hidden;
  border-radius: 1.4em 1.4em 0 0;
}
.blog__img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border-radius: 1.4em 1.4em 0 0;
  transition: transform 0.35s cubic-bezier(.52,1.32,.54,.96);
}
.blog__card:hover .blog__img {
  transform: scale(1.07) rotate(1deg);
}
.blog__meta {
  display: flex;
  align-items: center;
  gap: 1.3em;
  font-size: 0.99em;
  color: #8eaab7;
  padding: 1.1em 1.3em 0.2em 1.3em;
}
.blog__tag {
  display: inline-block;
  color: #17A398;
  background: #17A39816;
  border-radius: 1em;
  padding: 0.21em 1.1em;
  font-size: 0.95em;
  font-weight: 600;
  transition: background 0.21s;
}
.blog__tag i {
  margin-right: 0.3em;
  color: #FFDD57;
}
.blog__date {
  font-size: 0.98em;
  color: #457B9D;
  display: flex;
  align-items: center;
  gap: 0.4em;
}
.blog__date i {
  color: #17A398;
  font-size: 0.96em;
  margin-right: 0.18em;
}
.blog__card-title {
  font-size: 1.14em;
  color: #294052;
  font-family: 'Manrope', Arial, sans-serif;
  font-weight: 700;
  margin: 0.7em 0 0.38em 0;
  padding: 0 1.3em;
}
.blog__card-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.19s;
}
.blog__card-title a:hover {
  color: #17A398;
}
.blog__card-desc {
  color: #487585;
  font-size: 1em;
  line-height: 1.48;
  font-family: 'Inter', Arial, sans-serif;
  opacity: 0.98;
  padding: 0 1.3em;
  margin-bottom: 1.1em;
}
.blog__readmore {
  margin-top: auto;
  margin-left: 1.3em;
  font-size: 0.99em;
  font-family: 'Manrope', Arial, sans-serif;
  color: #457B9D;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  border-radius: 1em;
  background: #F0FAF8;
  padding: 0.47em 1.15em;
  transition: background 0.19s, color 0.16s, box-shadow 0.22s;
  box-shadow: 0 2px 8px #17A39808;
  position: relative;
}
.blog__readmore i {
  font-size: 1.07em;
  color: #FFDD57;
  transition: transform 0.19s;
}
.blog__readmore:hover, .blog__readmore:focus {
  background: #17A39822;
  color: #17A398;
  box-shadow: 0 6px 20px #17A39811;
}
.blog__readmore:hover i {
  transform: scale(1.23) rotate(-11deg);
}

@media (max-width: 950px) {
  .blog__grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.2em;
  }
  .blog__card {
    min-height: 390px;
  }
}
@media (max-width: 650px) {
  .blog {
    padding: 1.5em 0 0.9em 0;
  }
  .blog__header {
    margin-bottom: 1.1em;
  }
  .blog__grid {
    grid-template-columns: 1fr;
    gap: 1em;
  }
  .blog__img {
    height: 150px;
  }
  .blog__card {
    min-height: 0;
  }
}
.benefits {
  background: linear-gradient(93deg,#F8FAFC 80%, #FFDD5725 100%);
  padding: 3.3em 0 2.5em 0;
  position: relative;
}
.benefits__container {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 2vw;
}
.benefits__header {
  margin-bottom: 2em;
  text-align: left;
}
.benefits__title {
  font-family: 'Manrope', Arial, sans-serif;
  color: #FFDD57;
  font-size: 2em;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.36em;
  margin-bottom: 0.35em;
  text-shadow: 0 2px 14px #FFDD5740;
}
.benefits__title i {
  color: #17A398;
  font-size: 1.13em;
  animation: benefitsStar 2s infinite;
}
@keyframes benefitsStar {
  0% { transform: scale(1) rotate(0);}
  60% { transform: scale(1.23) rotate(-12deg);}
  100% { transform: scale(1) rotate(0);}
}
.benefits__subtitle {
  color: #294052;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.1em;
  max-width: 540px;
  line-height: 1.5;
  opacity: 0.95;
  font-weight: 500;
}

.benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.1em;
}
.benefits__card {
  background: #fff;
  border-radius: 1.4em;
  box-shadow: 0 4px 18px #FFDD5714;
  padding: 2em 1.2em 1.3em 1.2em;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.1em;
  transition: transform 0.16s, box-shadow 0.18s;
  cursor: pointer;
  min-height: 220px;
  position: relative;
  overflow: hidden;
}
.benefits__card:hover {
  transform: translateY(-8px) scale(1.04) rotate(-1deg);
  box-shadow: 0 12px 40px #FFDD5722;
  background: #FFFCE2;
}
.benefits__icon {
  font-size: 2.25em;
  background: #FFDD5722;
  color: #17A398;
  border-radius: 50%;
  padding: 0.38em 0.48em;
  margin-bottom: 0.35em;
  transition: background 0.18s, color 0.15s, transform 0.22s;
  box-shadow: 0 2px 11px #FFDD5710;
  display: inline-block;
}
.benefits__card:hover .benefits__icon {
  background: #17A39822;
  color: #FFDD57;
}

/* Індивідуальні анімації іконок */
.benefits__icon--grow {
  animation: benefitsGrow 2.5s infinite cubic-bezier(.5,.05,.92,.48);
}
@keyframes benefitsGrow {
  0% { transform: scale(1);}
  70% { transform: scale(1.13);}
  100% { transform: scale(1);}
}
.benefits__icon--flash {
  animation: benefitsFlash 1.7s infinite;
}
@keyframes benefitsFlash {
  0%, 80%, 100% { color: #17A398;}
  40% { color: #FFDD57;}
}
.benefits__icon--ai {
  animation: benefitsAi 2.6s infinite linear;
}
@keyframes benefitsAi {
  0% { transform: rotate(0);}
  70% { transform: rotate(12deg);}
  100% { transform: rotate(0);}
}
.benefits__icon--trust {
  animation: benefitsTrust 2.1s infinite alternate;
}
@keyframes benefitsTrust {
  0% { box-shadow: 0 0 0 #17A39811;}
  70% { box-shadow: 0 0 14px #17A39833;}
  100% { box-shadow: 0 0 0 #17A39811;}
}

.benefits__card-title {
  font-size: 1.17em;
  font-family: 'Manrope', Arial, sans-serif;
  font-weight: 700;
  color: #294052;
  margin-bottom: 0.18em;
  text-align: center;
}
.benefits__card-desc {
  font-size: 1em;
  color: #487585;
  opacity: 0.98;
  font-family: 'Inter', Arial, sans-serif;
  text-align: center;
  line-height: 1.48;
  font-weight: 500;
}

/* Адаптивність */
@media (max-width: 950px) {
  .benefits__grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.2em;
  }
  .benefits__card {
    min-height: 0;
  }
}
@media (max-width: 600px) {
  .benefits {
    padding: 1.5em 0 0.8em 0;
  }
  .benefits__header {
    margin-bottom: 1em;
  }
  .benefits__grid {
    grid-template-columns: 1fr;
    gap: 1em;
  }
}
.contact {
  background: linear-gradient(94deg,#E0FFF6 80%, #F8FAFC 100%);
  padding: 3.2em 0 2.2em 0;
}
.contact__container {
  max-width: 550px;
  margin: 0 auto;
  padding: 0 2vw;
}
.contact__header {
  margin-bottom: 1.7em;
  text-align: center;
}
.contact__title {
  font-family: 'Manrope', Arial, sans-serif;
  color: #17A398;
  font-size: 2em;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.36em;
  justify-content: center;
  margin-bottom: 0.4em;
}
.contact__title i {
  color: #457B9D;
  font-size: 1.12em;
  animation: contactFly 2s infinite alternate;
}
@keyframes contactFly {
  0% { transform: translateX(0);}
  70% { transform: translateX(7px);}
  100% { transform: translateX(0);}
}
.contact__subtitle {
  color: #294052;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1.1em;
  opacity: 0.93;
  font-weight: 500;
}
.contact__form {
  background: #fff;
  border-radius: 1.4em;
  box-shadow: 0 7px 28px #17A39817;
  padding: 2.1em 1.5em 1.2em 1.5em;
  display: flex;
  flex-direction: column;
  gap: 1.2em;
  position: relative;
  animation: contactFormAppear 0.7s cubic-bezier(.48,1.3,.44,0.93);
}
@keyframes contactFormAppear {
  0% { opacity: 0; transform: translateY(44px) scale(0.97);}
  100% { opacity: 1; transform: translateY(0) scale(1);}
}
.contact__form-fields {
  display: flex;
  gap: 1.2em;
  flex-wrap: wrap;
}
.contact__input-wrap {
  flex: 1 1 40%;
  display: flex;
  flex-direction: column;
  gap: 0.45em;
  margin-bottom: 0.7em;
}
.contact__input-wrap label {
  color: #457B9D;
  font-weight: 600;
  font-size: 0.99em;
  font-family: 'Manrope', Arial, sans-serif;
  margin-bottom: 0.13em;
}
.contact__input-wrap input,
.contact__input-wrap textarea {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1em;
  background: #F8FAFC;
  border: 1.2px solid #17A39833;
  border-radius: 1em;
  padding: 0.77em 1em;
  color: #294052;
  transition: border 0.19s, box-shadow 0.19s;
  outline: none;
  resize: none;
}
.contact__input-wrap input:focus,
.contact__input-wrap textarea:focus {
  border: 1.6px solid #17A39899;
  box-shadow: 0 2px 12px #17A39816;
}
.contact__captcha-row {
  display: flex;
  align-items: center;
  gap: 1.2em;
  margin-bottom: 0.7em;
  background: #17A3980b;
  padding: 0.6em 1em;
  border-radius: 1.2em;
  font-size: 1.08em;
}
.contact__captcha-label {
  color: #17A398;
  font-family: 'Manrope', Arial, sans-serif;
  font-weight: 700;
  min-width: 110px;
  letter-spacing: 0.03em;
}
.contact__captcha-row input[type="number"] {
  width: 88px;
  font-size: 1.03em;
  text-align: left;
}

.contact__btn {
  font-size: 1.09em;
  width: 100%;
  margin-top: 0.8em;
  letter-spacing: 0.01em;
}
.contact__btn i {
  margin-right: 0.6em;
  font-size: 1.11em;
}

.contact__success, .contact__error {
  margin-top: 1.1em;
  padding: 1em 1.1em;
  border-radius: 1em;
  font-size: 1.08em;
  display: flex;
  align-items: center;
  gap: 0.7em;
  background: #F8FAFC;
  box-shadow: 0 2px 12px #17A39809;
  font-weight: 700;
  justify-content: center;
}
.contact__success {
  color: #17A398;
  border: 1.2px solid #17A39844;
}
.contact__success i {
  color: #17A398;
}
.contact__error {
  color: #d34b29;
  border: 1.2px solid #d34b2944;
}
.contact__error i {
  color: #d34b29;
}

@media (max-width: 650px) {
  .contact {
    padding: 1.3em 0 0.8em 0;
  }
  .contact__form-fields {
    flex-direction: column;
    gap: 0.3em;
  }
  .contact__form {
    padding: 1.1em 0.7em 1em 0.7em;
  }
}
.cookie-popup {
  position: fixed;
  bottom: 1.8em;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  background: #fff;
  border-radius: 1.6em;
  box-shadow: 0 8px 38px #17A39828, 0 1px 5px #457B9D15;
  padding: 1.1em 2.1em 1.1em 1.5em;
  display: flex;
  align-items: center;
  gap: 1.3em;
  min-width: 270px;
  max-width: 96vw;
  animation: cookieAppear 0.7s cubic-bezier(.43,1.08,.7,.99);
  font-size: 1em;
}
@keyframes cookieAppear {
  0% { opacity: 0; transform: translateY(60px) scale(0.97);}
  100% { opacity: 1; transform: translateY(0) scale(1);}
}
.cookie-popup__content {
  display: flex;
  align-items: center;
  gap: 1em;
  width: 100%;
}
.cookie-popup__icon {
  font-size: 2em;
  color: #FFDD57;
  margin-right: 0.3em;
  animation: cookieBite 2.2s infinite alternate;
}
@keyframes cookieBite {
  0% { transform: rotate(-11deg);}
  60% { transform: rotate(9deg);}
  100% { transform: rotate(-11deg);}
}
.cookie-popup__text {
  color: #294052;
  font-family: 'Inter', Arial, sans-serif;
  font-size: 1em;
  opacity: 0.95;
  line-height: 1.4;
  flex: 1 1 0;
}
.cookie-popup__text a {
  color: #17A398;
  text-decoration: underline;
  transition: color 0.18s;
}
.cookie-popup__text a:hover {
  color: #457B9D;
}
.cookie-popup__btn {
  font-size: 1.07em;
  padding: 0.7em 1.8em;
  border-radius: 2em;
  margin-left: 0.4em;
  font-weight: 700;
  background: linear-gradient(92deg,#17A398 80%,#457B9D 100%);
  box-shadow: 0 2px 9px #17A39815;
  transition: background 0.22s, box-shadow 0.18s;
}
.cookie-popup__btn:hover {
  background: linear-gradient(93deg,#457B9D 60%,#17A398 100%);
  box-shadow: 0 5px 22px #17A39813;
}
@media (max-width: 600px) {
  .cookie-popup {
    padding: 0.7em 0.7em 0.7em 1em;
    font-size: 0.98em;
  }
  .cookie-popup__content {
    gap: 0.5em;
  }
  .cookie-popup__icon {
    font-size: 1.4em;
  }
}
.pages {
  background: linear-gradient(96deg, #F8FAFC 70%, #E0FFF6 100%);
  min-height: 100vh;
  padding: 3.3em 0 2.3em 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.pages .container {
  max-width: 670px;
  width: 100%;
  background: #fff;
  border-radius: 1.6em;
  box-shadow: 0 6px 28px #17A39811;
  padding: 2.6em 2.3em 2em 2.3em;
  margin: 0 auto;
  font-family: 'Inter', Arial, sans-serif;
  color: #294052;
  font-size: 1.07em;
  line-height: 1.7;
  animation: pagesAppear 0.7s cubic-bezier(.48,1.3,.44,0.93);
  position: relative;
}

@keyframes pagesAppear {
  0% { opacity: 0; transform: translateY(44px) scale(0.98);}
  100% { opacity: 1; transform: translateY(0) scale(1);}
}

.pages h1 {
  font-family: 'Manrope', Arial, sans-serif;
  color: #17A398;
  font-size: 2em;
  font-weight: 800;
  margin-bottom: 0.8em;
  letter-spacing: 0.01em;
  text-align: left;
  line-height: 1.17;
  animation: pagesH1Anim 1.1s cubic-bezier(.48,1.3,.44,0.93);
}
@keyframes pagesH1Anim {
  0% { opacity: 0; letter-spacing: 0.16em;}
  100% { opacity: 1; letter-spacing: 0.01em;}
}

.pages h2 {
  font-family: 'Manrope', Arial, sans-serif;
  color: #457B9D;
  font-size: 1.22em;
  font-weight: 700;
  margin-top: 1.7em;
  margin-bottom: 0.5em;
  letter-spacing: 0.01em;
  line-height: 1.3;
  transition: color 0.19s;
}
.pages h2:hover {
  color: #17A398;
}

.pages p {
  margin: 0.9em 0 0.7em 0;
  color: #294052;
  font-size: 1.07em;
  line-height: 1.74;
}

.pages ul, .pages ol {
  margin: 0.7em 0 1.2em 1.5em;
  padding: 0;
  color: #487585;
  font-size: 1.07em;
  line-height: 1.67;
}
.pages ul li, .pages ol li {
  margin-bottom: 0.5em;
  list-style-type: disc;
}

.pages strong {
  color: #17A398;
  font-weight: 700;
}

.pages a {
  color: #17A398;
  text-decoration: underline;
  transition: color 0.19s;
  word-break: break-all;
}
.pages a:hover {
  color: #457B9D;
  text-decoration: underline dotted;
}

@media (max-width: 750px) {
  .pages .container {
    padding: 1.6em 0.9em 1.3em 0.9em;
    font-size: 0.99em;
  }
  .pages h1 {
    font-size: 1.35em;
  }
  .pages h2 {
    font-size: 1.08em;
    margin-top: 1.1em;
  }
}

@media (max-width: 500px) {
  .pages {
    padding: 1em 0 0.7em 0;
  }
  .pages .container {
    border-radius: 0.9em;
    box-shadow: 0 2px 11px #17A39809;
  }
}
