@import 'style.css';

.hero {
  position: relative;
  background: radial-gradient(circle at 25% 25%, hsl(235 85% 60% / 0.15) 0%, transparent 50%),
    radial-gradient(circle at 75% 75%, hsl(270 85% 60% / 0.1) 0%, transparent 50%), hsl(217 100% 8%);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../img/hero-gradient.svg') 0 0 / 9.375rem repeat;
  pointer-events: none;
}
.hero__content {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem; /* 24/16 */
}
.hero__title {
  font-size: 2rem; /* 32/16 */
  font-weight: 700;
  line-height: 1.25;
}
.hero__text {
  font-size: 1.25rem;
  line-height: 1.625;
}
.hero__text p:not(:last-child) {
  margin-block-end: 0.75rem; /* 12/16 */
}
.hero__btns {
  display: flex;
  gap: 1rem; /* 16/16 */
  align-items: center;
}
.hero__picture {
  inline-size: fit-content;
  align-self: center;
  position: relative;
  background: var(--hero-picture-bg);
  border-radius: 1.5rem; /* 24/16 */
}
.performance-block {
  position: absolute;
  inset-inline-start: 5.7%; /* 32/561 */
  inset-block-start: -1.5rem; /* 24/16 */
  z-index: 1;
  font-family: var(--second-font-family);
  padding: 1rem;
  background: var(--performance-bg);
  border: 0.0625rem solid var(--performance-border);
  backdrop-filter: blur(1.25rem);
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  column-gap: 0.75rem;
  animation: 6s ease-in-out 0s infinite normal none running float;
}
.performance-block__number {
  color: var(--primary-title);
  font-size: 0.875rem; /* 14/16 */
  font-weight: 700;
  line-height: 1.428571rem; /* 20/14 */
  background-color: var(--performance-number-bg);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: 2rem; /* 32/16 */
  aspect-ratio: 1;
}
.performance-block__title {
  color: var(--primary-title);
  font-size: 0.875rem; /* 14/16 */
  line-height: 1.428571rem; /* 20/14 */
  font-weight: 600;
}
.performance-block__text {
  font-size: 0.75rem; /* 12/16 */
  line-height: 1.333; /* 16/12 */
}
.hero__image {
  animation: float 6s ease-in-out infinite;
  max-inline-size: 35.5rem; /* 568/16 */
  aspect-ratio: 568 / 598;
}
.trusted {
  border: 0.0625rem solid var(--trusted-block-border);
}
.trusted__container {
  text-align: center;
}
.trusted__title {
  font-size: 0.875rem; /* 14/16 */
  line-height: 1.25rem;
  letter-spacing: 0.05rem;
  font-weight: 600;
  margin-block-end: 2rem; /* 32/16 */
  text-transform: uppercase;
}
.trusted__list {
  font-size: 0.75rem; /* 12/16 */
  line-height: 1.333; /* 16/12 */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem; /* 24/16 */
  font-weight: 500;
}
.trusted__list li {
  padding-block: 0.5rem; /* 8/16 */
  padding-inline: 1rem; /* 16/16 */
  border-radius: 1.25rem; /* 20/16 */
  background-color: var(--trusted-list-bg);
}
.service {
  background-color: var(--service-bg);
}
.cards-service ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(18.125rem, 100%), 1fr));
  gap: 2rem; /* 32/16 */
}
.cards-service article {
  padding: 2rem; /* 32/16 */
  border: 0.0625rem solid var(--service-card-border);
  border-radius: 1.25rem; /* 20/16 */
  background: var(--service-card-bg);
  display: flex;
  flex-direction: column;
  block-size: 100%;
}
.cards-service__icon {
  inline-size: 3rem; /* 48/16 */
  aspect-ratio: 1;
  padding: 0.6875rem; /* 12/16 */
  border-radius: 1rem; /* 16/16 */
  border: 0.0625rem solid var(--service-card-icon-border);
  background-color: var(--service-card-icon-bg);
  margin-block-end: 1.5rem; /* 24/16 */
}
.cards-service__title {
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.75rem;
  margin-bottom: 0.75rem;
}
.cards-service__text {
  line-height: 1.625;
}
.cards-service__text p:not(:last-child) {
  margin-block-end: 1rem; /* 16/16 */
}
.cards-process {
  counter-reset: process-list;
  display: flex;
  flex-direction: column;
  row-gap: 2rem; /* 32/16 */
}
.cards-process article {
  display: flex;
  column-gap: 2rem; /* 32/16 */
  row-gap: 1.5rem; /* 24/16 */
  align-items: center;
  position: relative;
}
.cards-process article::before {
  counter-increment: process-list;
  content: '0' counter(process-list);
  inline-size: 5rem; /* 80/16 */
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-basis: 5rem; /* 80/16 */
  flex-shrink: 0;
  font-size: 1.5rem; /* 24/16 */
  font-weight: 700;
  line-height: 2rem;
  color: var(--link-bg);
  background: var(--hero-picture-bg);
  border-radius: 1rem;
  border: 0.0625rem solid var(--service-card-border);
  align-self: flex-start;
}
.cards-process article::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset-inline-start: -1px;
  inset-block-start: -1px;
  border-radius: 1rem;
  inline-size: 5.125rem; /* 82/16 */
  flex-basis: 5.125rem; /* 82/16 */
  flex-shrink: 0;
  aspect-ratio: 1;
  background: linear-gradient(145deg, var(--link-bg), var(--process-number-gradient));
}
.cards-process__title {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  margin-block-end: 0.75rem; /* 12/16 */
}
.cards-process__text {
  font-size: 1.125rem;
  line-height: 1.625;
  font-weight: 500;
}
.cards-process__text p:not(:last-child) {
  margin-block-end: 0.5rem; /* 8/16 */
}
.projects {
  border-block: 0.0625rem solid var(--service-card-border);
}
.projects__btns {
  text-align: center;
}
.cards-projects {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(22.5rem, 100%), 23rem));
  justify-content: center;
  gap: 2rem; /* 32/16 */
}
.cards-projects a {
  block-size: 100%;
}

.cards-projects article {
  max-inline-size: 23rem; /* 360/16 */
  display: flex;
  flex-direction: column;
  block-size: 100%;
  background: var(--service-card-bg);
  border: 1px solid var(--header-bottom-border);
  border-radius: 1.25rem;
  overflow: hidden;
}
.cards-projects__image {
  max-inline-size: 22.875rem; /* 360/16 */
  aspect-ratio: 768 / 512;
  background: radial-gradient(55% 45% at 50% 45%, rgba(255, 255, 255, 0.1) 0, transparent 60%),
    radial-gradient(120% 80% at 50% 60%, rgba(0, 0, 0, 0.75) 55%, transparent 70%),
    linear-gradient(180deg, #101d2f, #0a1422);
  margin-block-end: 1.5rem; /* 24/16 */
}
.cards-projects__body {
  display: flex;
  flex-direction: column;
  padding-inline: 1.5rem; /* 24/16 */
  margin-block-end: 1.5rem; /* 24/16 */
  flex-grow: 1;
}
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem; /* 8/16 */
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  color: var(--link-bg);
  margin-block-end: 0.75rem; /* 12/16 */
}
.tags li {
  padding-inline: 0.75rem;
  padding-block: 0.25rem;
  background-color: var(--service-card-icon-bg);
  border: 0.0625rem solid var(--service-card-icon-border);
  border-radius: 1rem;
}
.cards-projects__title {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  margin-block-end: 0.5rem; /* 8/16 */
  text-transform: capitalize;
}
.cards-projects__text {
  line-height: 1.625;
  margin-block-end: 1rem; /* 16/16 */
  flex-grow: 1;
}
.cards-projects__text p:not(:last-child) {
  margin-block-end: 0.5rem; /* 8/16 */
}
.cards-projects__link {
  font-size: 0.875rem; /* 14/16 */
  font-weight: 600;
  color: var(--link-bg);
}
.swiper-testimonials li {
  padding: 1.5rem;
  background-color: var(--hero-picture-bg);
  border-radius: 1.25rem;
  border: 0.0625rem solid var(--header-bottom-border);
  display: flex;
  flex-direction: column;
  block-size: auto;
}
.swiper-testimonials__feedback {
  flex-grow: 1;
  line-height: 1.625;
  color: var(--primary-title);
  margin-block-end: 1rem; /* 16/16 */
}
.swiper-testimonials__name {
  line-height: 1.5;
  color: var(--primary-title);
  font-weight: 600;
}
.swiper-testimonials__position {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
@media (any-hover: hover) {
  .cards-service article,
  .cards-projects article {
    transition: transform 0.3s, box-shadow 0.3s;
  }
  .cards-service article:hover,
  .cards-projects article:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 20px 40px var(--service-card-box-shadow);
  }
  .cards-projects article:active {
    transform: translateY(0);
    box-shadow: inherit;
  }
}
@media (min-width: 767.98px) {
  .hero {
    padding-block: 5.625rem; /* 90/16 */
  }
  .trusted,
  .service,
  .process,
  .projects,
  .testimonials {
    padding-block: 2.5rem; /* 40/16 */
  }
  .hero__title {
    font-size: clamp(2rem, 7.407vw - 1.556rem, 4rem); /* 32>64 768>1200 */
  }
  .service__section-header,
  .projects__section-header,
  .projects__cards,
  .testimonials__section-header {
    margin-block-end: 3rem; /* 48/16 */
  }
  .process__section-header {
    margin-block-end: 4rem; /* 64/16 */
  }
}
@media (min-width: 991.98px) {
  .hero {
    padding-block: 7.5rem; /* 120/16 */
  }
  .trusted {
    padding-block: 4rem; /* 64/16 */
  }
  .service,
  .process,
  .projects,
  .testimonials {
    padding-block: 6rem; /* 96/16 */
  }
  .hero__container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3rem; /* 48/16 */
  }
}
@media (max-width: 991.98px) {
  .hero__content {
    margin-block-end: 3rem; /* 48/16 */
  }
  .hero__picture {
    margin-inline: auto;
  }
}
@media (max-width: 767.98px) {
  .hero {
    padding-block: 5.625rem 1.875rem; /* 30/16 */
  }
  .trusted,
  .service,
  .process,
  .projects,
  .testimonials {
    padding-block: 1.875rem; /* 30/16 */
  }
  .service__section-header,
  .process__section-header,
  .projects__section-header,
  .projects__cards,
  .testimonials__section-header {
    margin-block-end: 2rem; /* 32/16 */
  }
}
@media (max-width: 479.98px) {
  .trusted__title {
    margin-block-end: 1rem; /* 16/16 */
  }
  .cards-process article {
    flex-direction: column;
  }
}
