

/* Base styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  background-color: #fff;
  color: #020202;
  font-weight: 400;
  overflow-x: hidden;
}

img {
  max-width: 100%;
}

ul {
  list-style: none;
}

/* Button styles */
.btn {
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  letter-spacing: -0.32px;
  border: none;
  cursor: pointer;
  padding: 10px 24px;
  overflow: hidden;
}

.btn {
display: flex;
padding: 10px 24px;
justify-content: center;
align-items: center;
gap: 8px;
flex: 1 0 0;
align-self: stretch;

color: var(--Color-General-black_100, #020202);
text-align: center;
font-family: Inter;
font-size: 12px;
font-style: normal;
font-weight: 500;
line-height: 16px; /* 133.333% */
letter-spacing: -0.24px;
}

.btn-white {
  background-color: #fff;
  color: #020202;
  min-height: 32px;
}

.btn-yellow {
  background-color: #f0ec7b;
  color: #020202;
  min-height: 44px;
}

.btn-large {
  min-height: 56px;
  width: 248px;
}

.btn-black {
  background-color: #020202;
  color: #fff;
  min-height: 56px;
}

.btn-full {
  width: 100%;
}

/* Text styles */
.text-right {
      text-align: left;
    padding-left: 7%;
}

.text-medium {
  font-weight: 500;
}

.section-title {
  font-size: 45px;
  font-weight: 400;
  letter-spacing: -1.8px;
  line-height: 1;
  line-height: 52px;
  
}

.section-description {
  font-size: 16px;
  line-height: 24px;
  margin-top: 24px;
}

/* Homepage */
.homepage {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  justify-content: center;
}

/* Hero Section */
.hero-section {
  width: 100%;
  overflow: hidden;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
}

.hero-container {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 90vh;
  width: 100%;
}

.hero-bg {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.main-header {
  position: relative;
  display: flex;
  width: 100%;
  padding: 18px 4%;
  align-items: center;
  gap: 40px 100px;
  font-weight: 500;
  justify-content: space-between;
  flex-wrap: wrap;
}

.logo {
  margin-top: auto;
  margin-bottom: auto;
}

.header-right {
  align-self: stretch;
  display: flex;

  margin-top: auto;
  margin-bottom: auto;
  align-items: center;
  gap: 32px;
  justify-content: flex-end;
  flex-wrap: wrap;
  width: auto;
}

.contact-info {
  align-self: stretch;
  display: flex;
  min-width: 240px;
  margin-top: auto;
  margin-bottom: auto;
  align-items: center;
  gap: 20px;
  font-size: 14px;
  color: #fff;
  letter-spacing: -0.28px;
  line-height: 1;
  justify-content: center;
}

.contact-item {
  align-self: stretch;
  display: flex;
  margin-top: auto;
  margin-bottom: auto;
  align-items: center;
  gap: 8px;
  justify-content: start;
}



.contact-icon {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 14px;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
  margin-top: 3px;
    float: left;
    margin-right: 3px;
}

.contact-text {
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
  float: left;
}

.hero-content {
  position: relative;
  margin-top: 248px;
  margin-left: 4%;
  width: 609px;
  max-width: 100%;
  position: absolute;
  bottom: 15vh;
  width: auto;
  padding-right: 4%;
}

.hero-headline {
  width: 100%;
  font-size: 57px;
  color: #fff;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: -2.28px;
  line-height: 1;
}

.headline-text {
  margin-top: 12px;
  font-size: 57px;
  font-weight: 300;
}

h1.headline-text{
	color: var(--Color-General-white_100, #FFF);
font-family: Inter;
font-size: var(--Display-Large-Size, 57px);
font-style: normal;
font-weight: 300;
line-height: 72px; /* 112.281% */
letter-spacing: -2.28px;
text-transform: uppercase;
margin-bottom: 32px;
}

.headline-text:first-child {
  margin-top: 0;
}

.bottom-banner {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.2);
    display: flex;
    width: 100%;
    padding: 16px 60px;
    align-items: center;
    gap: 10px;
    overflow: hidden;
    font-size: 12px;
    justify-content: center;
    flex-wrap: wrap;
    bottom: 0px;
	backdrop-filter: blur(10px);
	
}

.banner-text {
  width: 684px;
  align-self: stretch;
  min-width: 240px;
  margin-top: auto;
  margin-bottom: auto;
  color: #eaeeea;
  font-weight: 400;
  letter-spacing: -0.05px;
  line-height: 1;
  flex: 1;
}

.banner-contacts {
  align-self: stretch;
  display: flex;
  min-width: 240px;
  margin-top: auto;
  margin-bottom: auto;
  align-items: center;
  gap: 16px;
  color: #fff;
  font-weight: 500;
  letter-spacing: -0.24px;
  line-height: 1;
  justify-content: center;
}

/* Our Approach Section */
.our-approach {
  background-color: #fff;
  display: flex;
  width: 100%;
  padding: 108px 4%;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  color: #020202;
  font-weight: 400;
  justify-content: center;
}

.approach-content {
  display: block;
  width: 100%;
  align-items: center;
  gap: unset;
  justify-content: space-between;
  flex-wrap: wrap;
}

.approach-cards {
  align-self: stretch;
  display: flex;
  min-width: 240px;
  margin-top: auto;
  margin-bottom: auto;
  align-items: center;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
      display: block;
    width: 50%;
    float: left;
}

.preference-card {
  border-radius: 6px;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
  padding: 20px 29px;
  overflow: hidden;
  width: 395px;
  float: left;
    width: 45%;
    padding-right: 5%;
    margin-right: 5%;
}

.gray-card {
  background-color: #eaeeea;
}

.yellow-card {
  background-color: #f0ec7b;
}

.card-content {
  min-height: 96px;
}

.card-title {
  font-size: 22px;
  line-height: 1;
  letter-spacing: -0.44px;
  font-weight: 400;
}

.card-text {
  font-size: 14px;
  line-height: 20px;
  margin-top: 8px;
}

.card-image {
  aspect-ratio: 2.06;
  object-fit: contain;
  object-position: center;
  width: 262px;
  margin-top: 12px;
}

.approach-headline {
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
      width: 50%;
    float: left;
    padding-left: 5%;
}

.headline-container {
  max-width: 100%;
  width: 446px;
  font-size: 45px;
  letter-spacing: -1.8px;
  line-height: 1;
}

/* Who We Are Section */
.who-we-are {
  background-color: #eaeeea;
  display: flex;
  min-height: 608px;
  width: 100%;
  padding: 108px 4%;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  justify-content: center;
}

.who-we-are-content {
  align-self: stretch;
  display: block;
  min-width: 240px;
  margin-top: auto;
  margin-bottom: auto;
  width: 100%;
  align-items: flex-end;
  gap: 40px 100px;
  justify-content: space-between;
  flex-wrap: wrap;
  flex: 1;
}

.company-info {
  min-width: 240px;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  color: #020202;
  font-weight: 400;
  width: 648px;
  width: 50%;
    float: left;
	    padding-right: 5%;
}

.info-text {
  margin-top: 32px;
  max-width: 100%;
  width: auto;
  font-size: 16px;
  line-height: 24px;
}

.info-text ul,
.info-text p {
  margin-top: 16px;
}

.info-text ul:first-child,
.info-text p:first-child {
  margin-top: 0;
}

.youtube-player {
  border-radius: 6px;
  min-width: 240px;
  overflow: hidden;
  font-family:
    Roboto,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  color: #fff;
  width: 590px;
  width: 50%;
    float: left;
	    padding-left: 5%;
}

.player-container {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 320px;
  width: 100%;
  padding: 3px 0;
  align-items: stretch;
}

.video-bg {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.player-overlay {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 110px;
  width: 100%;
  padding: 12px 16px 53px;
  align-items: flex-start;
  gap: 20px;
  font-size: 18px;
  font-weight: 400;
  flex-wrap: wrap;
  justify-content: space-between;
}

.overlay-bg {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.video-info {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: start;
}

.channel-logo {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 40px;
  border-radius: 50%;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

.video-title {
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
  font-weight: 400;
}

.play-button {
  aspect-ratio: 1.05;
  object-fit: contain;
  object-position: center;
  width: 41px;
  margin-top: 6px;
}

.player-controls {
  aspect-ratio: 1.5;
  object-fit: contain;
  object-position: center;
  width: 78px;
  align-self: center;
  margin-top: 24px;
}

.youtube-link {
  position: relative;
  background-color: rgba(23, 23, 23, 0.8);
  align-self: flex-start;
  display: flex;
  margin-top: 81px;
  padding: 16px 12px;
  flex-direction: column;
  align-items: stretch;
  font-size: 16px;
  font-weight: 600;
  justify-content: center;
}

.link-content {
  display: flex;
  height: 16px;
  align-items: center;
  gap: 9px;
  justify-content: start;
}

.watch-text {
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

.youtube-logo {
  aspect-ratio: 4.5;
  object-fit: contain;
  object-position: center;
  width: 72px;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

/* Our Reputation Section */
.our-reputation {
  background-color: #fff;
  display: flex;
  width: 100%;
  padding: 108px 0;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  justify-content: center;
}

.reputation-content {
  display: block;
  width: 100%;
  padding: 0 4%;
  align-items: flex-end;
  gap: 40px 4%;
  justify-content: space-between;
  flex-wrap: wrap;
}

.director-profile {
  display: flex;
  flex-direction: column;
  border-radius: 6px;
  position: relative;

  align-items: flex-start;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  width: 45%;
    float: left;
    margin-right: 5%;
}

.profile-bg {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.director-info {
  position: relative;
  color: #fff;
}

.director-name {
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.44px;
  line-height: 28px;
}

.director-title {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.32px;
}

.reputation-info {
  display: flex;
  min-width: 240px;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  width: 590px;
  width: 50%;
    float: left;
		padding-left: 5%;
	
}

.reputation-text {
  width: 100%;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  color: #020202;
  font-weight: 400;
      padding-right: 20%;
}

.reputation-headline {
  width: 100%;
  font-size: 45px;
  letter-spacing: -1.8px;
  line-height: 1;
}

.reputation-description {
  margin-top: 24px;
  width: 100%;
  font-size: 16px;
  line-height: 24px;
}

.certification-logos {
  align-self: flex-start;
  display: flex;
  margin-top: 10px;
  align-items: center;
  gap: 3%;
  justify-content: center;
  flex-wrap: wrap;
}

.cert-logo {
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

/* Our Services Section */
.our-services {
  background-color: #eaeeea;
  display: flex;
  width: 100%;
  padding: 108px 4%;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

.services-content {
  display: flex;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}

.services-main {
  min-width: 240px;
  width: 648px;
  width: 50%;
    float: left;
    padding-right: 5%;
}

.services-headline {
  width: 506px;
  max-width: 100%;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  color: #020202;
  font-weight: 400;
}

.services-list-container {
  margin-top: 40px;
  width: 100%;
}

.services-list {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

.service-item {
  border-bottom: 1px solid rgba(2, 2, 2, 0.36);
  display: flex;
  width: 100%;
  padding: 2px 0;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  justify-content: center;
  margin-top: 20px;
}

.service-item:first-child {
  margin-top: 0;
}

.service-content {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 40px 100px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.service-title {
  color: #020202;
  font-size: 22px;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.44px;
  text-transform: uppercase;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

.service-icon {
  align-self: stretch;
  display: flex;
  margin-top: auto;
  margin-bottom: auto;
  padding: 6px;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  justify-content: center;
  width: 44px;
}

.icon-image {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 32px;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

.service-buttons {
  display: flex;
  margin-top: 32px;
  width: 100%;
  align-items: center;
  gap: 16px;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 16px;
  color: #fff;
  font-weight: 500;
  text-align: center;
  letter-spacing: -0.32px;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.service-cards {
    display: flex;
    font-family: Inter, -apple-system, Roboto, Helvetica, sans-serif;
    flex-wrap: wrap;
    width: 50%;
    padding-left: 5%;
    margin-top: auto;
}


.service-card {
  border-radius: 6px;
  background-color: rgba(210, 214, 211, 0.6);
  align-self: stretch;
  display: flex;
  min-width: 240px;
  margin-top: auto;
  margin-bottom: auto;
  padding: 12px 13px;
  flex-direction: column;
  overflow: hidden;
  color: #020202;
  flex-grow: 1;
  flex-shrink: 1;
  width: 230px;
  width: 47%;
    float: left;
}

.service-card.active {
  background-color: rgba(210, 214, 211, 0.6);
}

.service-card-content {
  width: 100%;
  max-width: 100%;
}

.service-card-title {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.32px;
}

.service-card-text {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.06px;
  margin-top: 8px;
}

.service-card-icon {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 56px;
  align-self: flex-end;
	position: absolute;
    bottom: 10px;
    right: 10px;
	
}

/* Global Impact Section */
.global-impact {
  width: 100%;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
}

.impact-container {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 816px;
  width: 100%;
}

.impact-bg {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.impact-overlay {
  display: flex;
  flex-direction: column;
  position: relative;
  background-blend-mode: overlay;
  min-height: 816px;
  width: 100%;
  padding: 48px 0 0 4%;
}

.impact-title {
  position: relative;
  color: #fff;
  font-size: 28px;
  font-weight: 400;
  line-height: 37px;
  text-transform: uppercase;
  align-self: flex-start;
  width: 50%;
  padding-right: 5%;
  
}

.impact-numbers {
  position: relative;
  border-radius: 6px 0 0 0;
  background-color: rgba(255, 255, 255, 0.2);
  align-self: flex-end;
  display: flex;
  margin-top: 452px;
  width: 402px;
  max-width: 100%;
  padding: 32px 60px;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  justify-content: center;
  position: absolute;
    bottom: 0;
	backdrop-filter: blur(10px);
}

.numbers-grid {
  display: flex;
  align-items: center;
  gap: 40px 48px;
  justify-content: center;
}

.numbers-row {
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
  width: 146px;
}

.number-item {
  max-width: 100%;
  width: 146px;
  margin-top: 24px;
}

.number-item:first-child {
  margin-top: 0;
}

.number-value {
  color: #fff;
  font-size: 36px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -1.44px;
  display: block;
}

.number-label {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1px;
  margin-top: 4px;
  display: block;
}

/* Our Activities Section */
.our-activities {
  background-color: #fff;
  display: flex;
  width: 100%;
  padding: 108px 4%;
  flex-direction: column;
  align-items: stretch;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 16px;
  color: #020202;
  justify-content: center;
  padding-bottom: 86px;
}

.activities-content {
  display: flex;
  width: 100%;
  flex-direction: row;
  align-items: stretch;
  justify-content: center;

}

.activities-main {
  
  display: flex;
  width: 1392px;
  max-width: 100%;
  align-items: flex-end;
  gap: 0;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 50%;
	padding-right: 15%;
}

.activities-headline {
  width: 100%;
}

.activities-text {
  display: flex;
  margin-top: 0px;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  justify-content: start;
}

.locations-grid {
  align-self: flex-start;
  display: flex;
  margin-top: 16px;
  align-items: flex-start;
  gap: 40px 48px;
  justify-content: start;
}

.location-column {
  width: 129px;
}

.location-title {
  font-weight: 500;
  letter-spacing: -0.32px;
  font-size: 16px;
}

.location-list {
  margin-top: 8px;
  width: 100%;
  font-weight: 400;
}

.location-list li {
  margin-top: 8px;
}

.location-list li:first-child {
  margin-top: 0;
}

.activities-image {
  width: 100%;
 
}

.activities-divider {
  aspect-ratio: 19.61;
  object-fit: contain;
  object-position: center;
  width: 1512px;
  margin-top: 86px;
}

/* Our Projects Section */
.our-projects {
  background-color: #f0ec7b;
  display: flex;
  width: 100%;
  padding: 108px 4%;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

.projects-content {
  display: block;
  width: 100%;
  align-items: flex-start;
  gap: 40px 100px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.projects-image {
  border-radius: 8px;

}

.image-container {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  position: relative;
  width: 100%;
}

.image-bg {
  position: absolute;
  inset: 0;
  height: auto;
  width: auto;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
}

.image-overlay {
  aspect-ratio: 1.08;
  object-fit: contain;
  object-position: center;
  width: 100%;
  border-radius: 8px;
  background-blend-mode: overlay;
}



.projects-headline {
  width: 100%;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  color: #020202;
  font-weight: 400;
}

.projects-list-container {
  margin-top: 40px;
  width: 100%;
}

.projects-list {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

.project-item {
  border-bottom: 1px solid rgba(2, 2, 2, 0.36);
  display: flex;
  width: 100%;
  padding: 8px 0;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  justify-content: center;
  margin-top: 20px;
}

.project-item:first-child {
  margin-top: 0;
}

.project-content {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 40px 100px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.project-title {
  color: #020202;
  font-size: 22px;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.44px;
  text-transform: uppercase;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

.project-icon {
  align-self: stretch;
  display: flex;
  margin-top: auto;
  margin-bottom: auto;
  padding: 0px;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  justify-content: center;
  width: 44px;
}

/* Client Reviews Section */
.client-reviews {
  background-color: #eaeeea;
  display: flex;
  width: 100%;
  padding: 108px 0;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

.reviews-content {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
}

.reviews-headline {
  align-self: flex-start;
  margin-left: 60px;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 45px;
  color: #020202;
  font-weight: 400;
  letter-spacing: -1.8px;
  line-height: 1;
  margin-left: 4%;
    margin-right: 4%;
}

.reviews-slider {
  margin-top: 48px;
  margin-left: 4%;
    margin-right: 4%;
}


.review-card {
  border-radius: 6px;
}

.white-card {
  background-color: #fff;
}


.review-text {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  margin-right: 29px;
}



.review-author {

  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.32px;
  line-height: 24px;
  justify-content: space-between;
}


/*
.author-title {
  width: 80%;
  font-weight: 500;
}

.quote-icon {
  aspect-ratio: 1.18;
  object-fit: contain;
  object-position: center;
  width: 10%;
  margin-top: 25px;
position: relative;
    float: right;
    margin-right: 19px;
  
}
*/

.slider-controls {
  display: flex;
  width: 100%;
  padding: 24px 70px 0;
  flex-direction: column;
  overflow: hidden;
  align-items: flex-end;
}

.control-buttons {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
}

.control-prev,
.control-next {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 32px;
  border-radius: 100px;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
  cursor: pointer;
}

/* Social Impact Section */
.social-impact {
  background-color: #fff;
  display: flex;
  width: 100%;
  padding: 108px 4% 124px;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

.social-content {
  display: flex;
  width: 100%;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
}




.social-headline {
  width: 420px;
  max-width: 100%;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 45px;
  color: #020202;
  font-weight: 400;
  letter-spacing: -1.8px;
  line-height: 1;
  width: 80%;
}

.social-text {
  display: flex;
  margin-top: 24px;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  justify-content: start;
}

.link-blue {
  text-decoration: underline;
  color: #4e9cfd;
}

.activities-link {
  align-self: flex-end;
  display: flex;
  margin-top: 16px;
  align-items: center;
  justify-content: start;
}

.icon-button {
  align-self: stretch;
  display: flex;
  margin-top: auto;
  margin-bottom: auto;
  padding: 6px;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  justify-content: center;
  width: 44px;
}

.link-text {
  color: #020202;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.44px;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

/* Footer Section */
.main-footer {
  background-color: #020202;
  display: flex;
  width: 100%;
  padding: 108px 4% 10px;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}

.footer-content {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  justify-content: start;
}

.footer-contacts {
  align-self: center;
  display: flex;
  width: 1392px;
  max-width: 100%;
  align-items: flex-start;
  gap: 40px 100px;
  justify-content: space-between;
  flex-wrap: wrap;
  display: block;
    width: 100%;
}

.footer-logo-contact {

  width: 23%;
    float: left;
    margin-right: 9%;
}

.footer-logo-social {
  display: flex;
  width: 100%;
  max-width: 296px;
  flex-direction: column;
  align-items: stretch;
  justify-content: start;
}

.footer-logo {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  justify-content: start;
}

.logo-container {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: start;
}

.logo-icon {
  aspect-ratio: 2.31;
  object-fit: contain;
  object-position: center;
  width: 74px;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

.logo-text {
  aspect-ratio: 6.94;
  object-fit: contain;
  object-position: center;
  width: 222px;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

.copyright {
  align-self: flex-start;
  margin-top: 8px;
  padding: 10px 0;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 16px;
  color: #fff;
  font-weight: 500;
  letter-spacing: -0.32px;
}

.social-buttons {
  align-self: flex-start;
  display: flex;
  margin-top: 12px;
  align-items: center;
  gap: 12px;
  justify-content: center;
}

.social-icon {
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
  width: 32px;
  border-radius: 100px;
  align-self: stretch;
  margin-top: auto;
  margin-bottom: auto;
}

.footer-links {
  display: flex;
  min-width: 240px;
  align-items: flex-start;
  gap: 40px 92px;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  justify-content: start;
  flex-wrap: wrap;
      display: block;
    float: left;
    width: 67%;
}

.footer-column {
  width: 234px;
  width: 31%;
    float: left;
    margin-right: 3%;
}

.footer-column.footer-column3 {margin-right: 0%;}

.footer-title {
  color: #f0ec7b;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.44px;
  text-transform: uppercase;
}

.footer-address {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: -0.32px;
  margin-top: 24px;
  font-style: normal;
}

.address-detail {
  font-weight: 400;
}

.footer-contact-list {
  display: flex;
  margin-top: 24px;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  font-size: 16px;
  color: #fff;
  font-weight: 500;
  letter-spacing: -0.32px;
  justify-content: start;
}

.footer-contact-item {
  display: flex;
  width: 100%;
  max-width: 100%;
  align-items: center;
  gap: 10px;
  justify-content: start;
  margin-top: 12px;
}

.footer-contact-item:first-child {
  margin-top: 0;
}

.footer-bottom {
  display: flex;
  margin-top: 72px;
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 16px;
  color: #d2d6d3;
  font-weight: 500;
  text-align: center;
  letter-spacing: -0.32px;
  justify-content: center;
}

.footer-divider {
  aspect-ratio: 1000;
  object-fit: contain;
  object-position: center;
  width: 1392px;
  align-self: center;
  max-width: 100%;
}

.footer-policy-links {
  display: flex;
  margin-top: 4px;
  width: 100%;
  align-items: center;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
}

.policy-link {
  border-radius: 6px;
  align-self: stretch;
  display: flex;
  margin-top: auto;
  margin-bottom: auto;
  min-height: 32px;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  justify-content: center;
  background: transparent;
  border: none;
  color: #d2d6d3;
  font-family:
    Inter,
    -apple-system,
    Roboto,
    Helvetica,
    sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  letter-spacing: -0.32px;
  cursor: pointer;
  padding: 10px 0;
}

/* Media Queries */
@media (max-width: 991px) {


  .hero-container {
    max-width: 100%;
  }

  .main-header {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .header-right {
    max-width: 100%;
  }

  .contact-info {
    max-width: 100%;
  }

  .title-2 {
    white-space: initial;
  }

  .state-layer {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hero-content {
    margin-top: 40px;
  }

  .hero-headline {
    font-size: 40px;
  }

  .headline-text {
    max-width: 100%;
    font-size: 40px;
  }

  .bottom-banner {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin-top: 40px;
  }

  .banner-text {
    max-width: 100%;
  }

  .banner-contacts {
    max-width: 100%;
  }

  .title-3,
  .title-5 {
    white-space: initial;
  }

  .our-approach {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .approach-content {
    max-width: 100%;
  }

  .approach-cards {
    max-width: 100%;
  }

  .preference-card {
    padding-right: 20px;
  }

  .approach-headline {
    max-width: 100%;
  }

  .headline-container {
    font-size: 40px;
  }

  .section-title {
    font-size: 40px;
  }

  .who-we-are {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .who-we-are-content {
    max-width: 100%;
  }

  .company-info {
    max-width: 100%;
  }

  .info-text {
    max-width: 100%;
  }

  .youtube-player {
    max-width: 100%;
  }

  .player-container {
    max-width: 100%;
  }

  .player-overlay {
    max-width: 100%;
  }

  .youtube-link {
    margin-top: 40px;
  }

  .our-reputation {
    max-width: 100%;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .reputation-content {
    max-width: 100%;
    padding-left: 4%;
    padding-right: 4%;
  }

  .director-profile {
    max-width: 100%;

  }

  .reputation-info {
    max-width: 100%;
  }

  .reputation-text {
    max-width: 100%;
  }

  .reputation-headline {
    max-width: 100%;
    font-size: 40px;
  }

  .reputation-description {
    max-width: 100%;
  }

  .certification-logos {
    max-width: 100%;
  }

  .our-services {
    max-width: 100%;
    padding-left: 4%;
    padding-right: 4%;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .services-content {
    max-width: 100%;
  }

  .services-main {
    max-width: 100%;
  }

  .services-list-container {
    max-width: 100%;
  }

  .services-list {
    max-width: 100%;
  }

  .service-item {
    max-width: 100%;
  }

  .service-content {
    max-width: 100%;
  }

  .service-buttons {
    max-width: 100%;
  }

  .service-cards {
    max-width: 100%;
    padding-top: 100px;
  }

  .service-card-icon {
    margin-top: 40px;
  }

  .global-impact {
    max-width: 100%;
  }

  .impact-container {
    max-width: 100%;
  }

  .impact-overlay {
    max-width: 100%;
    padding-left: 20px;
  }

  .impact-title {
    max-width: 100%;
  }

  .impact-numbers {
    margin-top: 40px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .our-activities {
    max-width: 100%;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .activities-content {
    max-width: 100%;
  }

  .activities-text {
    max-width: 100%;
  }

  .activities-image {
    max-width: 100%;
  }

  .activities-divider {
    max-width: 100%;
    margin-top: 40px;
  }

  .our-projects {
    max-width: 100%;
    padding-left: 4%;
    padding-right: 4%;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .projects-content {
    max-width: 100%;
  }

  .projects-image {
    max-width: 100%;
  }

  .image-container {
    max-width: 100%;
  }

  .image-overlay {
    max-width: 100%;
  }

  .projects-main {
    max-width: 100%;
    padding-top: 100px;
  }

  .projects-headline {
    max-width: 100%;
  }

  .projects-list-container {
    max-width: 100%;
  }

  .projects-list {
    max-width: 100%;
  }

  .project-item {
    max-width: 100%;
  }

  .project-content {
    max-width: 100%;
  }

  .btn-full {
    max-width: 100%;
  }

  .state-layer-2 {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .client-reviews {
    max-width: 100%;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .reviews-content {
    max-width: 100%;
  }

  .reviews-headline {
    max-width: 100%;
    font-size: 40px;
  }

  .reviews-slider {
    margin-top: 40px;
	margin-left: 4%;
    margin-right: 4%;
  }

  .slider-container {
    max-width: 100%;
    padding-left: 20px;
  }

  .review-text {
    margin-right: 10px;
  }

  .review-author {
    margin-top: 40px;
  }

  .slider-controls {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }

  .social-impact {
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .social-content {
    max-width: 100%;
  }

  .social-image {
    max-width: 100%;
  }

  .social-main {
    max-width: 100%;
  }

  .social-headline {
    font-size: 40px;
  }

  .social-text {
    max-width: 100%;
  }

  .main-footer {
    max-width: 100%;
    padding-top: 100px;
  }

  .footer-content {
    max-width: 100%;
  }

  .footer-bottom {
    max-width: 100%;
    margin-top: 40px;
  }

  .footer-divider {
    max-width: 100%;
  }

  .footer-policy-links {
    max-width: 100%;
  }

  .footer-contact-list,
  .footer-contact-item {
    white-space: initial;
  }
}


.contact-item {
    color: var(--Color-General-white_100, #FFF);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -0.28px;
}

.banner-contacts.contact-item {font-size: 12px;}


button.btn.btn-yellow.btn-large{
	color: var(--Color-General-black_100, #020202);
text-align: center;

/* Title/Medium */
font-family: Inter;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 24px; /* 150% */
letter-spacing: -0.32px;
}


.profile-bg{
	border-radius: var(--Corner-Radius-corner_6, 6px);
}

.youtube-player iframe {
    border-radius: 6px;
}

.youtube-player{min-height: 400px;}

img.cert-logo{width: 22%;}

article.service-card.service-card1 {
    margin-bottom: 20px;
    margin-right: 5%;
}

article.service-card.service-card2 {
    margin-bottom: 20px;
}

article.service-card.service-card3 {
    margin-right: 5%;
}

.footer-logo-contact button.btn.btn-yellow {
    margin-top: 32px;
	width: 296px;
	font-size: 16px;
}

button.btn.btn-yellow:hover {
    background-color: black;
	color: #f0ec7b
}

button.policy-link:hover {
    color: #4E9CFD;
}

ul.projects-list {
    margin-bottom: 32px;
}

button.btn.btn-black {
    font-size: 16px;
}

.btn-black:hover {
    background-color: #4E9CFD;
    color: black;
}

.logos-row {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: space-between; /* Розміщуємо логотипи з максимально можливими рівними проміжками */
  align-items: center; /* Вирівнюємо логотипи по вертикалі (за потреби) */
}

.logos-row li {
  /* Ширина не задана, буде залежати від ширини логотипа */
  margin-right: 2%; /* Задаємо відстань праворуч від кожного логотипа */
}

/* Прибираємо відступ справа у останнього елемента, щоб не було зайвого простору в кінці */
.logos-row li:last-child {
  margin-right: 0;
}

.logos-row li img {
  height: auto; /* Задаємо фіксовану висоту для кожного логотипа */
  width: auto; /* Ширина буде автоматично розрахована зі збереженням пропорцій */
}



img.profile-bg {
    display: block;
    width: 100%;
    filter: brightness(0.7);
	height: auto;
	
}

.btn-yellow.btn-yellow1 {
	flex: none;
    z-index: 1;
    position: absolute;
    bottom: 24px;
    font-size: 16px;
}

article.preference-card.gray-card:hover {
    background-color: #f0ec7b;
}

.btn-white:hover {
    background: black;
    color: white;
}

.contact-item a {
    color: white;
    text-decoration: none;
}

.info-text ul {
    list-style: disc;
    padding-left: 20px;
}

ul.logos-row{
    padding: 10px 0px;
}

.logos-slider{
	border-top: 1px solid var(--Color-General-light_grey_60, rgba(210, 214, 211, 0.60));
    border-bottom: 1px solid var(--Color-General-light_grey_60, rgba(210, 214, 211, 0.60));
}

section.logos-section {
    padding-bottom: 108px;
}

.map-item{
	display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-left: 5%;
    width: 50%;
}

.activities-main button.btn.btn-black {
    margin-top: 24px;
}

.activities-link a {
    display: contents;
}

.activities-link a:hover {
    color: #4E9CFD;
}

.footer-contacts button.btn.btn-yellow:hover {
    background-color: #4E9CFD;
	color: #000;
}

/* Вказівник при наведенні для підказки, що елемент клікабельний */

.project-inner-content {
  padding: 15px;
  display: none; /* Приховати внутрішній контент за замовчуванням */
  background-color: #f9f9f9;
}

.project-item.open .project-inner-content {
  display: block; /* Показати внутрішній контент при натисканні */
}

.project-item.open .project-icon svg {
  transform: rotate(45deg); /* Змінити вигляд іконки при відкритті (наприклад, з "+" на "x") */
  transition: transform 0.3s ease-in-out;
}

.project-icon svg {
  transition: transform 0.3s ease-in-out;
}

.project-inner-content {
    background-color: #f0ec7b;
}

svg.icon123 {
    stroke: black;
}



.project-content:hover svg.icon123 {
    stroke: #4E9CFD;
}

.project-content:hover .project-title{
	color: #4E9CFD;
}

.service-content:hover svg.icon123 {
    stroke: #4E9CFD;
}

.service-content:hover h3.service-title{
	color: #4E9CFD;
}


.service-inner-content {
  padding: 15px;
  display: none; /* Приховати внутрішній контент за замовчуванням */
  background-color: #f9f9f9;
}

.service-item.open .service-inner-content {
  display: block; /* Показати внутрішній контент при натисканні */
}

.service-item.open .service-icon svg {
  transform: rotate(45deg); /* Змінити вигляд іконки при відкритті (наприклад, з "+" на "x") */
  transition: transform 0.3s ease-in-out;
}

.service-icon svg {
  transition: transform 0.3s ease-in-out;
}

.service-inner-content {
background-color: #eaeeea;}



.detail-item::marker {
    font-weight: 800;
}

li.detail-item {
    list-style-type: disc;
    margin-bottom: 10px;
    margin-left: 5px;
}

p.project-h{
	margin-left: -14px;
    font-weight: 800;
	    margin-bottom: 10px;
		margin-top: 20px;	
}

.project-content.active h3{
	color: #4E9CFD;
}

.project-content.active svg.icon123 {
    stroke: #4E9CFD;
}

.service-content.active h3{
	color: #4E9CFD;
}

.service-content.active svg.icon123 {
    stroke: #4E9CFD;
}

.project-item.open .project-inner-content {
    display: block;
    padding-left: 25px;
}

.project-b {
    margin-left: -23px;
}

img.project-icon {
	float: left;
    margin-right: 10px;
	width: 17px;
}




.activities-link {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.activities-link:hover .link-text,
.activities-link:hover .icon-image {
    color: #4E9CFD;
    fill: #4E9CFD;
}

.activities-link a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.activities-link a:hover {
    color: #4E9CFD;
}

/* стили для єкранов менее 1500 */
@media (max-width: 1499px) {
	
}

/* стили для єкранов менее 1200 */
@media (max-width: 1199px) {
	
}



/* Стили для экранов менее 1400px  - 1.2 */
@media (max-width: 1400px) {
	h2.section-title{
		font-size: 38px;
		line-height: 44px;
	}

	.social-content {
    align-items: flex-start;}
	
	.footer-title {
    font-size: 18px;}
	
	.footer-address {
    font-size: 16px;}
	
	.footer-contact-list {
    font-size: 16px;}
	
	.policy-link{
    font-size: 16px;}
	.copyright{
    font-size: 16px;}
	
	.project-title {
    font-size: 20px;}
	
	.projects-main {
    padding-top: 0;}
	
	.service-title{
    font-size: 20px;}
	
	.contact-item {
    font-weight: 400;}
	
	.activities-main {
    padding-right: 0%;}
	
	p.review-text {
    font-size: 14px;
    line-height: 20px;}
	
}


.service-card {
min-width: auto;
position: relative;
min-height: 200px;
}





.slider-container {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  margin-right: 0;
  padding-right: 0;
  /* Добавляем will-change */
  will-change: scroll-position;
}

.slider-container::-webkit-scrollbar {
  display: none;
}

.review-card {
  display: flex;
  flex-direction: column;
  height: auto;
  width: calc((100% / 3.75) - 1.5%);
  flex-shrink: 0;
  padding: 20px;
  box-sizing: border-box;
  scroll-snap-align: start;
  transition: background-color 0.3s ease;
  background-color: white;
  margin-right: 2%;
  /* Добавляем will-change (опционально) */
  will-change: transform;
}

.review-card:last-child {
  margin-right: 0; /* Убираем отступ у последнего видимого слайда */
}

.review-card.active-slide {
  background-color: #f0ec7b;
}

.review-text {
  flex-grow: 1;
  margin-bottom: 30px;
}

p.review-text {
    font-size: 16px;
    line-height: 24px;
}

.review-author {
  display: flex;
  flex-direction: row;
  align-items: center;
      position: relative;
}

.author-title {
  width: 80%;
}

.quote-icon {
  width: 20%;
  text-align: right;
  position: absolute;
    bottom: 0px;
    right: 0;
}

img.quote-icon1 {
    width: 20px;
}



@media (max-width: 1100px) {
	
	.review-card {
    width: calc(33% - 1%); /* Два слайда в ряд с учетом отступа */
  }
  .review-card {
  width: calc((100% / 3.1) - 1.5%);
}
	
		h1.headline-text{
		font-size: 48px;
		line-height: 60px;
	}
	
	.main-footer {
    padding: 68px 4% 10px;}
	
  .card-title {
    font-size: 19px;
    margin-bottom: 20px;
  }

  h2.section-title {
    font-size: 35px;
    line-height: 41px;
  }

  h1.headline-text {
    font-size: 42px;
    line-height: 55px;
  }

  button.btn.btn-yellow.btn-large {
    font-size: 14px;
  }

  .info-text {
    margin-top: 28px;
    font-size: 14px;
  }

  .btn-yellow.btn-yellow1 {
    font-size: 14px;
  }

  li.detail-item {
    font-size: 15px;
  }

  button.btn.btn-black {
    font-size: 14px;
  }

  .impact-title {
    width: 70%;
  }
  
  .activities-main button.btn.btn-black {
    max-width: 90%;
}

.service-card-icon {
width: 25%;}

.map-item {
padding-left: 1%;}

.project-content {
gap: 40px 10px;}

.social-impact {
padding: 108px 4% 50px;}

.service-content {
    gap: 40px 10px;
}

.reputation-text {
padding-right: 0;}

.approach-headline {
width: 45%;}

.approach-cards {
width: 55%;}

.hero-content {
width: 55%;}
  
      .footer-title {
        font-size: 22px;
    }
	
}

/* end 1100px */


/* start 900px */


@media (max-width: 900px) {
	
	    .btn-yellow.btn-yellow1 {
        font-size: 16px;
    }
	
	    button.btn.btn-black {
        font-size: 16px;
    }
	
	.main-header {
		padding: 16px 4%;
    }
	
	    .our-approach {
        padding-left: 4%;
        padding-right: 4%;}
		
		.who-we-are {
        padding-left: 4%;
        padding-right: 4%;}
		
	.reputation-content {
        padding-left: 4%;
        padding-right: 4%;
    }
	
	.our-services {
        padding-left: 4%;
        padding-right: 4%;
    }
	
	    .certification-logos.cert-small {
        margin-top: -30px !important;}
	
	article.service-card.service-card1 {
    margin-bottom: 32px;
}

article.service-card.service-card2 {
    margin-bottom: 32px;
}

    .service-title {
        font-size: 22px;
		line-height: 28px;
    }
	
	.project-title {
        font-size: 22px;
		line-height: 28px;
    }
	
	.certification-logos.cert-small {
        margin-top: -40px;
    }
	
	
  .review-card {
    width: calc(50% - 1%); /* Два слайда в ряд с учетом отступа */
  }
  .review-card {
  width: calc((100% / 2.1) - 1.5%);
}

.hero-content {
width: 100%;}

h1.headline-text {
font-weight: 400;}

p.banner-text {
    display: none;
}

.bottom-banner {
justify-content: left;
padding-left: 4%;
padding-right: 4%;
}

    .who-we-are {
        padding-top: 56px;
	padding-bottom: 45px;}
	
	    .our-approach {
padding-top: 56px;
	padding-bottom: 48px;}

.approach-cards {
    width: 100%;
}

.approach-headline {
    width: 100%;
    padding: 0;
}

.company-info {
    width: 100%;
    padding: 0;
}

.youtube-player {
    width: 100%;
}

.director-profile {
    width: 100%;
}

.reputation-info {
    width: 100%;
    padding: 0;
}

.services-main {
    width: 100%;
    padding: 0;
}

.service-cards {
    width: 100%;
    padding: 0;
}

.impact-title {
        width: 80%;
    }
	
	.activities-content {
    flex-direction: column;
}

.activities-main {
    width: 100%;
}

.map-item {
    width: 100%;
}

.projects-image {
    display: none;
}

.projects-main {
    width: 100%;
    padding: 0;
}

.social-image {
    width: 100%;
    padding: 0;
}

.social-main {
    width: 100%;
    padding: 0;
}

article.preference-card.gray-card {
    margin-right: 2%;
}

.preference-card {
    margin: 0;
    width: 48%;
}

article.preference-card.gray-card {
    margin-right: 2%;
}

article.preference-card.yellow-card {
    margin-left: 2%;
}

.info-text {
        font-size: 16px;
		margin-bottom: 32px;
}

.youtube-player {
    padding: 0;
}

    .social-impact {
        padding: 56px 4% 48px;
    }
	
	img.image-bg {
    position: relative;
}

.client-reviews {
    padding: 54px 0;
	padding-bottom: 48px;
}

    .our-projects {
    padding-top: 56px;
	padding-bottom: 48px;
}

.our-services {
        padding-top: 56px;
        padding-bottom: 48px;
    }
	
.our-reputation {
        padding-top: 54px;
        padding-bottom: 48px;
    }

.services-main {
    margin-bottom: 32px;
}

.services-list-container {
    margin-top: 32px;
}

.service-buttons {
gap: 4%;}

article.service-card.service-card1 {
    margin-right: 2%;
}

article.service-card.service-card2 {
    margin-left: 2%;
}

article.service-card.service-card3 {
    margin-right: 2%;
}

article.service-card.active.service-card4 {
    margin-left: 2%;
}

.service-card {
    width: 48%;
}

button.btn.btn-black.ctn-small {
    margin-top: 24px;
}

section.logos-section {
    padding-bottom: 0;
    margin-bottom: 32px;
}

    .our-activities {
        padding-bottom: 48px;
		        padding-top: 56px;
    }
	
	.project-inner-content {
    width: 90%;
    margin: auto;
}

    .service-card-icon {
        width: 15%;
    }

}

/* end 900px */

.approach-content {
  display: flex; /* Делаем контейнер flex-контейнером */
  flex-direction: row; /* Располагаем элементы в ряд по умолчанию */
  align-items: flex-start; /* Выравниваем элементы по верхнему краю */
  /* Другие стили для .approach-content, если необходимо */
}

.approach-cards {
  width: 50%; /* Занимает 60% ширины на больших экранах (пример) */
  order: 1; /* Порядок отображения (по умолчанию 1) */
  /* Другие стили для .approach-cards, если необходимо */
}

.approach-headline {
  width: 50%; /* Занимает 40% ширины на больших экранах (пример) */
  order: 2; /* Порядок отображения (по умолчанию 2) */
  /* Другие стили для .approach-headline, если необходимо */
}

/* Медиазапрос для маленьких экранов (например, до 768px) */
@media (max-width: 900px) {
  .approach-content {
    flex-direction: column; /* Располагаем элементы в столбец */
  }

  .approach-cards {
    width: 100%; /* Занимает 100% ширины */
    order: 2; /* Порядок отображения (меняем на 2) */
  }

  .approach-headline {
    width: 100%; /* Занимает 100% ширины */
    order: 1; /* Порядок отображения (меняем на 1) */
    margin-bottom: 30px; /* Добавляем отступ снизу (пример) */
  }
}


.social-content {
  display: flex; /* Делаем контейнер flex-контейнером */
  flex-direction: row; /* Располагаем элементы в ряд по умолчанию */
  align-items: flex-start; /* Выравниваем элементы по верхнему краю */
  /* Другие стили для .social-content, если необходимо */
}

.social-image {
  width: 50%; /* Занимает 40% ширины на больших экранах (пример) */
  order: 1; /* Порядок отображения (по умолчанию 1) */
  /* Другие стили для .social-image, если необходимо */
}

.social-main {
  width: 50%; /* Занимает 60% ширины на больших экранах (пример) */
  order: 2; /* Порядок отображения (по умолчанию 2) */
  /* Другие стили для .social-main, если необходимо */
}

/* Медиазапрос для маленьких экранов (например, до 768px) */
@media (max-width: 900px) {
  .social-content {
    flex-direction: column; /* Располагаем элементы в столбец */
  }

  .social-image {
    width: 100%; /* Занимает 100% ширины */
    order: 2; /* Порядок отображения (меняем на 2) */
    margin-top: 30px; /* Добавляем отступ сверху (пример) */
  }

  .social-main {
    width: 100%; /* Занимает 100% ширины */
    order: 1; /* Порядок отображения (меняем на 1) */
  }
}


.reputation-content {
  display: flex; /* Делаем контейнер flex-контейнером */
  flex-direction: row; /* Располагаем элементы в ряд по умолчанию */
  align-items: flex-start; /* Выравниваем элементы по верхнему краю */
  /* Другие стили для .social-content, если необходимо */
}

.director-profile {
  width: 45%; /* Занимает 40% ширины на больших экранах (пример) */
  order: 1; /* Порядок отображения (по умолчанию 1) */
  /* Другие стили для .social-image, если необходимо */
  margin: 0;
}

.reputation-info {
  width: 45%; /* Занимает 60% ширины на больших экранах (пример) */
  order: 2; /* Порядок отображения (по умолчанию 2) */
  /* Другие стили для .social-main, если необходимо */
  padding-left: 0;
}

.reputation-content {
gap: 40px 10%;
overflow: auto;
}

  .cerft-big{display:flex;}
  .certification-logos.cert-small {display:none;}
  
  .service-big{display:flex;}
  .service-small{display:none;}
  
  .ctn-big{display:flex;}
  .ctn-small{display:none;}

/* Медиазапрос для маленьких экранов (например, до 900px) */
@media (max-width: 900px) {
  .reputation-content {
    flex-direction: column; /* Располагаем элементы в столбец */
  }

  .director-profile {
    width: 100%; /* Занимает 100% ширины */
    order: 2; /* Порядок отображения (меняем на 2) */
    margin-top: 0px; /* Добавляем отступ сверху (пример) */
  }

  .reputation-info {
    width: 100%; /* Занимает 100% ширины */
    order: 1; /* Порядок отображения (меняем на 1) */
  }
  
.certification-logos.cert-small {
	display:flex;
    width: 100%;
    order: 3;
	margin-top: 0;
    gap: 0 4%;
}

  .cerft-big{display:none;}
  
  .service-big{display:none;}
  .service-small{display:flex;}
  
  .ctn-big{display:none;}
  .ctn-small{display:flex;}
  
}


.footer-contacts {
  display: flex; /* Делаем контейнер flex-контейнером */
  gap: 0 4%; /* Устанавливаем отступы между колонками */
}

.footer-column-1 {
  width: 30%; /* Задаем ширину 23% */
}

.footer-column-2,
.footer-column-3,
.footer-column-4 {
  width: calc((100% - 30% - 4% * 3) / 3); /* Вычисляем ширину */
}

.footer-contacts button.btn.btn-yellow {
    margin-top: 32px;
    font-size: 16px;
}

@media (max-width: 1100px) {
  .footer-contacts {
    display: grid; /* Используем CSS Grid */
    grid-template-columns: 1fr 1fr; /* Создаем две колонки */
    gap: 32px 4%; /* Отступ между колонками и рядами */
  }

  .footer-column-1 {
    width: auto; /* Позволяем ширине определяться содержимым */
    order: 1; /* Размещаем в первой ячейке */
  }

  .footer-column-2 {
    width: auto;
    order: 3; /* Размещаем в третьей ячейке */
  }

  .footer-column-3 {
    width: auto;
    order: 2; /* Размещаем во второй ячейке */
  }

  .footer-column-4 {
    width: auto;
    order: 4; /* Размещаем в четвертой ячейке */
  }

.fotter-btn-large{display:none;}
.fotter-btn-small{display:flex;}
}

@media (min-width: 1101px) {
.fotter-btn-large{display:flex;}
.fotter-btn-small{display:none;}
}

@media (max-width: 500px) {
  .footer-contacts {
    display: flex; /* Переключаемся обратно на Flexbox (можно и Grid, но Flexbox проще для одной колонки) */
    flex-direction: column; /* Размещаем элементы в столбец */
    gap: 4%; /* Отступ между элементами */
  }

  .footer-column-1 {
    order: 1; /* Первый */
    width: 100%; /* Полная ширина */
  }

  .footer-column-3 {
    order: 2; /* Второй */
    width: 100%; /* Полная ширина */
  }

  .footer-column-4 {
    order: 3; /* Третий */
    width: 100%; /* Полная ширина */
  }

  .footer-column-2 {
    order: 4; /* Четвертый */
    width: 100%; /* Полная ширина */
  }
}


@media (max-width: 800px) {
    .logo-text{width: 171px;}
	.logo-icon {width: 74px;}
}


@media (max-width: 600px) {
	
	.youtube-player iframe {
    height: 300px;
}

.youtube-player {
    min-height: auto;
}
	
  .footer-contacts {
    display: flex; /* Переключаемся обратно на Flexbox (можно и Grid, но Flexbox проще для одной колонки) */
    flex-direction: column; /* Размещаем элементы в столбец */
    gap: 32px 4%; /* Отступ между элементами */
  }

  .footer-column-1 {
    order: 1; /* Первый */
    width: 100%; /* Полная ширина */
  }

  .footer-column-3 {
    order: 2; /* Второй */
    width: 100%; /* Полная ширина */
  }

  .footer-column-4 {
    order: 3; /* Третий */
    width: 100%; /* Полная ширина */
  }

  .footer-column-2 {
    order: 4; /* Четвертый */
    width: 100%; /* Полная ширина */
  }
}


/* main medium */

@media (max-width: 805px) {
.contact-item.contact-item-h1 {
    display: none;
}

h1.headline-text {
    font-size: 57px;
    font-weight: 300;
    line-height: 64px;
}

    button.btn.btn-yellow.btn-large {
        font-size: 16px;
    }
	
	.banner-contacts .contact-item {
    font-size: 12px;}
	
	    .card-title {
        font-size: 22px;}
		
		    .main-footer {
			padding-top: 68px;}

}

/* main medium */

@media (max-width: 640px) {
.contact-item.contact-item-h2 {
    display: none;
}
.contact-info {
min-width: auto;}

.contact-info button.btn.btn-white {
    font-size: 12px;
	padding: 8px 12px;
}

}

@media (max-width: 600px) {
	
    h1.headline-text {
        font-size: 44px;
        font-weight: 400;
        line-height: 52px;
    }
	
	  .review-card {
    width: calc(100% - 1%); /* Два слайда в ряд с учетом отступа */
  }
  .review-card {
  width: calc((100% / 1.1) - 1.5%);
}

    .service-card-icon {
        width: 20%;
    }

}


@media (max-width: 500px) {
	
article.preference-card.gray-card {
    width: 100%;
    margin: 0;
}

article.preference-card.yellow-card {
    width: 100%;
    margin: 0;
    margin-top: 16px;
}

img.cert-logo {
    width: 45%;
}

    .certification-logos.cert-small {
        margin-top: 0px !important;
    }
	
	.number-value {
    font-size: 32px;
	}

}

img.quote-icon1 {
    width: 39px;
}




.projects-content {
  display: flex; /* Делаем контейнер flex-контейнером */
  justify-content: space-between; /* Распределяем пространство между элементами */
      gap: 0;
	  overflow: hidden;
}

.projects-image,
.projects-main {
  width: 46%;  /* 50% ширины минус половина отступа (5%) */
}

.projects-image .image-bg {
    position: relative;
}

.projects-main {
min-width: unset;}

.projects-main {
    flex-direction: column;
    justify-content: flex-end;
    display: flex;
    margin-top: auto;
}


.social-content{
	  display: flex; /* Делаем контейнер flex-контейнером */
  justify-content: space-between; /* Распределяем пространство между элементами */
      gap: 0;
	  overflow: hidden;
}

.social-image{width: 46%;}
.social-main{width: 46%;}

.social-image .image-bg {
position: relative;}

.social-main{
    flex-direction: column;
    justify-content: flex-end;
    display: flex;
    margin-top: auto;
}


.director-profile .btn-yellow.btn-yellow1{
	position: absolute;
    bottom: 24px;
    font-size: 16px;
    left: 24px;
}

img.profile-bg {
position: relative;}

.director-info {
    position: absolute;
    color: #fff;
    z-index: 55;
    top: 24px;
    left: 24px;
}

@media (max-width: 900px) {
	
	.projects-image, .projects-main {
    width: 100%;
}
.social-main {
    width: 100%;
}
.social-image {
    width: 100%;
}
}


@media (min-width: 601px) {
	img.profile-bg.rep-img-big {display:block;}
	img.profile-bg.rep-img-small {display:none;}
}


@media (max-width: 600px) {
	
	.slider-controls {
    display: none;
}

	img.profile-bg.rep-img-big {display:none;}
	img.profile-bg.rep-img-small {display:block;}
	
button.btn.btn-yellow.fotter-btn-small {
    width: 100%;
}
    .policy-link {
        font-size: 14px;
    }
	.footer-policy-links {
    gap: 5%;}
	
	.main-header {
    gap: 0;}
	
	.contact-item{
    gap: 0;}
	
	.banner-contacts {
    flex-wrap: wrap;
}
	.contact-item-ua{display:none;
	}
	
	.service-content {
    flex-wrap: unset;}
	
	.numbers-grid {
    gap: 0;}
	
	.project-content {
    flex-wrap: unset;}
	
	.main-header img.logo {
    max-width: 50%;
}

.impact-numbers {
        padding-left: 4%;
        padding-right: 4%;
    }
	
}



@media (max-width: 400px) {
    h2.section-title {
	font-size: 32px;}
}

article.review-card.white-card.white-card1 {background: #f0ec7b;}



@media (max-width: 900px) {
article.review-card.white-card.white-card3 {background: #f0ec7b;}
article.review-card.white-card.white-card5 {background: #f0ec7b;}
article.review-card.white-card.white-card7 {background: #f0ec7b;}

}


@media (max-width: 900px) {
.logos-slider1 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(auto-fill, minmax(auto, auto));
  gap: 15px;
  /* Другие стили для .logos-slider, если необходимо */
}

.logos-row1 {
  display: contents;
  list-style: none;
  padding: 0;
  margin: 0;
}

.logos-row1 li {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #eaeeea;
  border-radius: 6px;
  padding: 7px;
  background-color: #fff;
}

.logos-row1 img {
  max-width: 100%;
  max-height: 100%;
}

/* Стили для пустых ячеек */
.logos-row1 li:nth-child(12),
.logos-row1 li:nth-child(14),
.logos-row1 li:nth-child(15) {
  border-color: transparent;
  background-color: transparent;
}

.logos-row1 li:nth-child(12) img,
.logos-row1 li:nth-child(14) img,
.logos-row1 li:nth-child(15) img {
  display: none; /* На всякий случай, если внутри окажется изображение */
}

.logos-slider{display:none;}
.logos-slider1{display: grid}


section.logos-section {
  margin-left: 4%;
  margin-right: 4%;
}

}

@media (min-width: 901px) {
.logos-slider1{display:none;}
.logos-slider{display: block}
section.logos-section {
    margin-left: 0;
    margin-right: 0;
}
}

.certification-logos.cert-small {
    display: none;
}


button.btn.btn-black.ctn-last {
    width: 100%;
    margin-top: 32px;
}

@media (min-width: 901px) {
	button.btn.btn-black.ctn-last {display:none;}
}

@media (max-width: 900px) {
	.map-item {display: none;}
}

@media (max-width: 600px) {
.banner-contacts {
    display: block;
    width: 100%;
}

.contact-item-mail{    float: left;}
.contact-item-phone{    float: right;}

}




/* Слайдер */


.logos-slider {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.logos-row {
  display: flex;
  animation: slide 20s linear infinite;
  list-style: none;
  padding: 0;
  margin: 0;
  width: auto; /* Ширина будет зависеть от количества логотипов */
}

.logos-row li {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 10px;
  flex-shrink: 0;
  width: auto;
  height: 100px;
}

.logos-row img {
  max-width: 100%;
  max-height: 80%;
}

/* Анимация прокрутки */
@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* Слайдер */


img.social-icon {
    background: white;
    padding: 8px;
}

img.social-icon:hover{
    background: #4e9cfd;
}

svg.control-prev {
    stroke: black;
    background: green;
    padding: 8px;
    height: auto;
}

svg.control-prev:hover {
    stroke: black;
    background: red;
    padding: 8px;
    height: auto;
}


svg.upright {
    stroke: #020202;
}

.activities-link a:hover svg.upright{
    stroke: #4e9cfd;
}




.slider-container {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  /* Убираем компенсацию и пространство для выхода */
  margin-right: 0;
  padding-right: 0;
}

.slider-container::-webkit-scrollbar {
  display: none;
}

.review-card {
  display: flex;
  flex-direction: column;
  height: auto;
  /* Уменьшаем ширину, чтобы четыре слайда занимали меньше 100% и оставляли место для частичного показа пятого */
  width: calc((100% / 3.75) - 1.5%);
  flex-shrink: 0;
  padding: 20px;
  box-sizing: border-box;
  scroll-snap-align: start;
  transition: background-color 0.3s ease;
  background-color: white;
  margin-right: 2%; /* Отступ между слайдами */
}

.review-card:last-child {
  margin-right: 0; /* Убираем отступ у последнего видимого слайда */
}


@media (min-width: 901px) {
	.reviews-slider-mobile { display: none;}
}

@media (max-width: 900px) {
	.reviews-slider { display: none;}
	.slider-controls { display: none;}
	
	.review-card-m {width: 100%;}
	.reviews-slider-mobile .slider-container {display: block; padding: 0 4%;}
	
	article.review-card-m { padding: 20px;  margin: 20px 0; border-radius: 6px;}
	
	article.review-card-m.white-card.white-card2 {background: #f0ec7b;}
	article.review-card-m.white-card.white-card4 {background: #f0ec7b;}
	article.review-card-m.white-card.white-card6 {background: #f0ec7b;}
	
	article.review-card-m.white-card.white-card6 {margin-bottom: 0;}
	article.review-card-m.white-card.white-card1 {margin-top: 25px;}
	
}

@media (max-width: 600px) {
    section.hero-section {
        height: 90vh;
    }
}

.footer-contact-item a {
    color: white !important;
}