* {
  margin: 0;

  padding: 0;

  box-sizing: border-box;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
}

.page_width {
  padding: 0 48px;
}

/* Header CSS */

.hamburger {
  display: none;
}

.mobile_menu {
  display: none;
}

header {
  position: fixed;

  width: 100%;

  background: white;

  top: 0;

  bottom: auto;

  left: 0;

  right: 0;

  z-index: 9999;
}

.header_spacing {
  padding: 0 48px;
}

.header_wrap {
  display: flex;

  justify-content: space-between;

  align-items: center;

  height: 80px;
}

.header_wrap a.logo img {
  width: 100%;

  height: 80px;

  object-fit: contain;

  display: flex;
}

.header_wrap a.logo {
  display: flex;

  align-items: center;

  height: 80px;
}

.header_wrap ul {
  display: flex;

  flex-wrap: wrap;

  justify-content: space-evenly;

  column-gap: 4px;
}

.header_wrap .btn_1 {
  color: white;

  padding: 12px 24px;

  border-radius: 8px;

  font-size: 16px;

  background-color: #ff6b35;

  font-weight: 600;

  font-family: Inter, system-ui, sans-serif;

  transition: all 0.3s ease-out;
}

.header_wrap .btn_1:hover {
  transform: translate(0, -0.125rem) rotate(0) skewX(0) skewY(0) scaleX(1)
    scaleY(1);

  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000,
    0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;
}

.logo_img {
  width: 56px;

  height: auto;
}

.header_wrap a.icon,
.closebtn {
  display: none;
}

.menu_item {
  font-size: 16px;

  line-height: 20px;

  font-weight: 500;

  color: #1f2937;

  font-family: Inter, system-ui, sans-serif;

  padding: 8px 16px;
}

li a.menu_item:hover {
  color: #3b82f6;

  background-color: #f8fafc;

  border-radius: 4px;
}

/* Banner CSS */

.banner_hero .main_banner {
  background-image: linear-gradient(to bottom right, #1e3a8a, #6366f1, #3b82f6);

  width: 100%;

  height: 100%;

  padding-top: 64px;

  padding-bottom: 64px;

  margin-top: 80px;
}

.banner_hero .banner_content {
  max-width: 1280px;

  margin: 0 auto;

  text-align: center;

  padding: 0 48px;
}

.banner_hero .banner_heading {
  font-size: 60px;

  line-height: 1;

  font-weight: 700;

  font-family: Inter, system-ui, sans-serif;

  color: white;

  /* margin-top: 32px; */
}

.banner_hero .banner_para {
  font-size: 24px;

  line-height: 1.625;

  max-width: 768px;

  margin: 0 auto;

  margin-top: 24px;

  color: hsla(0, 0%, 100%, 0.9);

  text-align: center;

  font-family: Inter, system-ui, sans-serif;
}

.banner_hero .flex_main {
  display: flex;

  gap: 24px;

  padding-top: 16px;

  margin-top: 24px;

  justify-content: center;
}

.banner_hero .flex_item {
  display: flex;

  flex-direction: column;

  /* gap: 8px; */

  align-items: center;

  backdrop-filter: blur(4px);

  padding: 12px 24px;

  background-color: hsla(0, 0%, 100%, 0.1);

  border: 1px solid hsla(0, 0%, 100%, 0.2);

  border-radius: 4px;
}

.banner_hero .flex_item h2 {
  font-size: 30px;

  line-height: 1;

  font-weight: 700;

  font-family: Inter, system-ui, sans-serif;

  color: rgb(255 255 255 / 1);
}

.banner_hero .flex_item p {
  font-size: 14px;

  line-height: 24px;

  color: hsla(0, 0%, 100%, 0.8);

  font-family: Inter, system-ui, sans-serif;
}

/*  */

/* .portfolio-wrapper {

    max-width: 1280px;

    margin: 0 auto;

    padding: 0 48px;

} */

.filter_main {
  padding: 32px 0px;

  border-bottom: 1px solid #e5e7eb;
}

.filters {
  display: flex;

  gap: 24px;

  flex-wrap: wrap;

  max-width: 1280px;

  margin: 0 auto;

  padding: 0 48px;

  justify-content: space-between;
}

.search_filter {
  display: flex;

  position: relative;

  flex: 1 1 0%;

  width: 100%;
}

.search_filter svg {
  position: absolute;

  top: 50%;

  left: 16px;

  z-index: 9;

  transform: translateY(-50%);
}

.filters input {
  padding: 14px 48px;

  /* max-width: 448px; */

  width: 100%;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;

  border: 1px solid #e5e7eb;

  border-radius: 4px;
}

.filter_cover {
  display: flex;

  gap: 16px;

  flex-wrap: wrap;
}

.filters select,
.filters button {
  padding: 12px 16px;

  border: 1px solid #e5e7eb;

  border-radius: 4px;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;

  font-weight: 400;
}

.filter_cover button {
  cursor: pointer;

  display: flex;

  align-items: center;

  gap: 8px;
}

.main_grid {
  padding: 64px 48px;

  max-width: 1280px;

  margin: 0 auto;
}

#resultCount {
  color: #64748b;

  margin-bottom: 32px;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;
}

.portfolio-grid {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 32px;
}

.portfolio-card:hover {
  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000,
    0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.portfolio-card:hover .view_btn {
  display: flex;

  height: 100%;

  width: 100%;

  align-items: end;
}

.portfolio-card:hover .case_cover {
  transition-duration: 300ms;

  transition-property: opacity;

  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

  background-image: linear-gradient(to top, #000000cc, transparent);

  inset: 0;

  position: absolute;
}

.portfolio-card:hover .card-image img {
  transform: translate(0, 0) rotate(0) skewX(0) skewY(0) scaleX(1.1) scaleY(1.1);
}

.portfolio-card:hover .card-title {
  color: #3b82f6;
}

/* CARD */

.portfolio-card {
  background: #fff;

  border-radius: 16px;

  overflow: hidden;

  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);

  display: flex;

  flex-direction: column;

  cursor: pointer;
}

/* IMAGE */

.card-image {
  position: relative;

  height: 256px;

  overflow: hidden;
}

.card-image img {
  width: 100%;

  height: 100%;

  object-fit: cover;

  transition-duration: 600ms;

  transition-property: transform;

  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.featured-badge {
  position: absolute;

  top: 16px;

  right: 16px;

  background: #f97316;

  z-index: 9;

  color: #fff;

  font-size: 12px;

  font-weight: 600;

  padding: 4px 12px;

  border-radius: 4px;

  font-family: Inter, system-ui, sans-serif;
}

/* BODY */

.card-body {
  padding: 24px;
}

/* TAGS */

.card-tags {
  display: flex;

  gap: 8px;

  margin-bottom: 10px;
}

.card-tags span {
  background: #f1f5f9;

  color: #475569;

  font-size: 12px;

  padding: 4px 10px;

  border-radius: 6px;

  font-family: Inter, system-ui, sans-serif;
}

/* TEXT */

.card-title {
  font-size: 20px;

  font-weight: 600;

  line-height: 28px;

  margin: 8px 0;

  font-family: Inter, system-ui, sans-serif;

  color: #1f2937;

  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

  transition-duration: 300ms;

  transition-property: color, background-color, border-color,
    text-decoration-color, fill, stroke, -webkit-text-decoration-color;
}

.card-subtitle {
  font-size: 14px;

  color: #6b7280;

  margin-bottom: 16px;

  font-family: Inter, system-ui, sans-serif;
}

.card-desc {
  font-size: 16px;

  color: #1f2937;

  line-height: 26px;

  margin-bottom: 16px;

  font-family: Inter, system-ui, sans-serif;

  display: -webkit-box;

  line-clamp: 3;

  -webkit-line-clamp: 3;

  -webkit-box-orient: vertical;

  overflow: hidden;
}

/* METRICS */

.card-metrics {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 12px;

  margin-bottom: 16px;
}

.metric {
  background: #f8fafc;

  border-radius: 10px;

  padding: 12px;
}

.metric p {
  font-size: 24px;

  color: #3b82f6;

  display: block;

  font-weight: 700;

  font-family: Inter, system-ui, sans-serif;
}

.metric span {
  font-size: 12px;

  color: #64748b;

  font-family: Inter, system-ui, sans-serif;
}

/* TECH */

.card-tech {
  display: flex;

  gap: 8px;

  flex-wrap: wrap;
}

.card-tech span {
  background: #f8fafc;

  color: #475569;

  font-size: 12px;

  font-weight: 500;

  padding: 4px 8px;

  border-radius: 4px;

  font-family: Inter, system-ui, sans-serif;
}

.view_btn {
  display: none;

  color: white;

  align-items: center;

  gap: 8px;

  z-index: 9999;
}

.case_btn {
  position: absolute;

  left: 16px;

  right: 16px;

  bottom: 16px;
}

.view-case-study {
  color: rgb(255 255 255 / 1);

  font-family: Inter, system-ui, sans-serif;

  font-size: 14px;

  line-height: 20px;

  font-weight: 500;
}

.modal-overlay {
  position: fixed;

  inset: 0;

  background-color: rgba(0, 0, 0, 0.6);

  display: none;

  align-items: center;

  justify-content: center;

  z-index: 9999;

  backdrop-filter: blur(4px);

  padding: 16px;
}

.modal-overlay.active {
  display: flex;
}

.modal-box {
  background: #fff;

  max-width: 1024px;

  width: 90%;

  max-height: 90vh;

  overflow-y: auto;

  border-radius: 12px;

  position: relative;

  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000,
    0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.modal_heading {
  display: flex;

  flex-direction: row-reverse;

  align-items: center;

  justify-content: space-between;

  padding: 16px 24px;

  border-bottom: 1px solid #e5e7eb;

  font-family: Inter, system-ui, sans-serif;

  position: sticky;

  top: 0;

  z-index: 10;

  background-color: #fff;
}

.modal-close {
  background: none;

  border: none;

  cursor: pointer;

  padding: 8px;

  border-radius: 4px;

  display: flex;

  align-items: center;

  justify-content: center;

  transition-property: color, background-color, border-color,
    text-decoration-color, fill, stroke, -webkit-text-decoration-color;

  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

  transition-duration: 300ms;
}

.modal-close:hover {
  background-color: #f1f5f9;

  border-radius: 4px;
}

h2#modalTitle {
  font-weight: 700;

  color: #1f2937;

  font-size: 24px;

  line-height: 32px;

  font-family: Inter, system-ui, sans-serif;
}

.modal_content {
  padding: 32px;
}

.modal_cover {
  height: 384px;

  overflow: hidden;

  border-radius: 8px;
}

.modal-image {
  width: 100%;

  height: 384px;

  object-fit: cover;
}

.modal-tabs {
  display: flex;

  gap: 8px;

  border-bottom: 1px solid #e5e7eb;

  margin-bottom: 16px;

  margin-top: 32px;
}

.modal-tabs .tab {
  background: none;

  border: none;

  padding: 12px 24px;

  cursor: pointer;

  font-weight: 500;

  color: #6b7280;

  transition-duration: 300ms;

  transition-property: all;

  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

  font-family: Inter, system-ui, sans-serif;

  font-size: 16px;
}

.modal-tabs .tab.active {
  color: #3b82f6;

  border-bottom: 2px solid #3b82f6;
}

.tab-content {
  display: none;

  margin-top: 32px;
}

.tab-content.active {
  display: block;
}

.tab-content h3 {
  color: #1f2937;

  font-size: 20px;

  font-weight: 700;

  line-height: 28px;

  margin-bottom: 12px;

  font-family: Inter, system-ui, sans-serif;
}

.tab-content .para {
  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;

  color: #1f2937;

  line-height: 1.625;
}

.info-grid {
  display: flex;

  flex-wrap: wrap;

  grid-template-columns: repeat(3, 1fr);

  gap: 16px;

  margin: 24px 0;
}

.info-grid .info-item {
  background: #f8fafc;

  padding: 16px;

  border-radius: 4px;

  display: flex;

  flex-direction: column;

  gap: 4px;

  width: calc(33.33% - 11px);
}

.info-item p {
  color: #6b7280;

  font-size: 14px;

  line-height: 20px;

  font-family: Inter, system-ui, sans-serif;
}

.info-item span {
  color: #1f2937;

  font-size: 16px;

  font-weight: 600;

  font-family: Inter, system-ui, sans-serif;
}

.para_part1 h4,
.para_part2 h4,
.para_part3 h4 {
  color: #1f2937;

  font-weight: 700;

  margin-bottom: 12px;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;

  line-height: 24px;
}

.tech-tags {
  display: flex;

  gap: 8px;

  flex-wrap: wrap;
}

.tech-tags span {
  display: inline-block;

  margin: 5px;

  padding: 8px 12px;

  border-radius: 4px;

  font-size: 14px;

  color: #3b82f6;

  line-height: 20px;

  font-family: Inter, system-ui, sans-serif;
}

.para_part2,
.para_part3 {
  margin-top: 24px;
}

.para_part2 p,
.para_part3 p {
  color: #1f2937;

  line-height: 1.625;

  font-family: Inter, system-ui, sans-serif;

  font-size: 16px;
}

.metrics-grid {
  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 15px;
}

.metrics-grid .metrics_item {
  padding: 24px;

  border-radius: 8px;

  border: 1px solid #e5e7eb;
}

.metrics_item p {
  color: #3b82f6;

  font-weight: 700;

  font-size: 36px;

  line-height: 40px;

  font-family: Inter, system-ui, sans-serif;

  margin-bottom: 8px;
}

.metrics_item span {
  color: #1f2937;

  font-weight: 500;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;
}

.impact-list li {
  list-style: none;

  margin: 10px 0;

  color: #1f2937;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;

  display: flex;

  align-items: center;

  gap: 12px;
}

svg.text-success {
  color: #10b981;

  min-width: 24px;
}

.timeline-section {
  margin-top: 24px;
}

.timeline-section h4 {
  color: #1f2937;

  margin-bottom: 12px;

  font-weight: 700;

  font-family: Inter, system-ui, sans-serif;

  font-size: 16px;
}

.timeline-section h3 {
  font-size: 20px;

  font-weight: 600;

  margin-bottom: 20px;
}

.timeline-row {
  display: flex;

  align-items: center;

  gap: 16px;

  margin-bottom: 16px;
}

.timeline-label {
  color: #6b7280;

  font-size: 14px;

  line-height: 20px;

  font-weight: 500;

  width: 100%;

  font-family: Inter, system-ui, sans-serif;

  max-width: 128px;

  font-family: Inter, system-ui, sans-serif;
}

.timeline-time {
  font-size: 14px;

  line-height: 20px;

  text-align: right;

  color: #6b7280;

  width: 100%;

  font-family: Inter, system-ui, sans-serif;

  max-width: 80px;
}

.timeline-bar {
  height: 8px;

  background: #e5e7eb;

  border-radius: 999px;

  overflow: hidden;

  width: 100%;
}

.timeline-bar span {
  display: block;

  height: 100%;

  background: #3b82f6;

  border-radius: 999px;
}

.modal-actions {
  display: flex;

  gap: 15px;

  margin-top: 32px;

  padding-top: 24px;

  border-top: 1px solid #e5e7eb;
}

.btn-orange {
  background: #f97316;

  color: #fff;

  padding: 12px 24px;

  border: none;

  border-radius: 6px;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;

  font-weight: 600;

  width: 50%;

  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000,
    0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

.btn-blue {
  background: #3b82f6;

  color: #fff;

  padding: 12px 24px;

  border: none;

  border-radius: 6px;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;

  font-weight: 600;

  width: 100%;

  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000,
    0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);

  text-align: center;
}

.testimonial-box {
  border: 1px solid #e5e7eb;

  padding: 32px;

  border-radius: 10px;
}

.author {
  display: flex;

  align-items: center;

  gap: 16px;
}

.avatar {
  width: 64px;

  height: 64px;

  border-radius: 9999px;

  background-image: linear-gradient(to bottom right, #3b82f6, #f97316);

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 20px;

  line-height: 28px;

  font-weight: 700;

  color: rgb(255 255 255 / 1);

  font-family: Inter, system-ui, sans-serif;
}

.video-box {
  position: absolute;

  display: flex;

  flex-direction: column;

  align-items: center;

  width: 100%;

  height: 100%;

  justify-content: center;

  top: 0;

  bottom: 0;

  left: auto;

  right: auto;

  gap: 8px;
}

.modal {
  height: 200px;

  aspect-ratio: 16 / 9;

  overflow: hidden;

  border-radius: 4px;

  width: 100%;

  height: 100%;
}

.modal video {
  width: 100%;
}

.play-btn {
  background: #f97316;

  color: #fff;

  width: 80px;

  height: 80px;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;
}

.satisfaction {
  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 16px;
}

.satisfaction .item_block {
  background: #f8fafc;

  padding: 16px;

  text-align: center;

  border-radius: 4px;
}

.item_block p {
  color: #10b981;

  font-weight: 700;

  font-size: 30px;

  line-height: 36px;

  margin-bottom: 4px;

  font-family: Inter, system-ui, sans-serif;
}

.item_block span {
  color: #6b7280;

  font-size: 14px;

  line-height: 20px;

  font-family: Inter, system-ui, sans-serif;
}

.testimonial-box svg {
  color: #3b82f6;

  margin-bottom: 16px;
}

p.test_para {
  color: #1f2937;

  line-height: 1.625;

  font-style: italic;

  font-size: 18px;

  font-family: Inter, system-ui, sans-serif;

  margin-bottom: 24px;
}

.author_detail p {
  color: #1f2937;

  font-weight: 700;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;

  line-height: 20px;
}

.author_detail span {
  color: #6b7280;

  font-size: 14px;

  line-height: 20px;

  font-family: Inter, system-ui, sans-serif;
}

.video_cover {
  margin-top: 24px;

  /* padding: 24px; */

  background: #f8fafc;

  position: relative;
}

.video_cover h4 {
  color: #1f2937;

  font-weight: 700;

  margin-bottom: 16px;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;
}

.video-box p {
  color: white;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;
}

.cover_client {
  margin-top: 24px;
}

.cover_client h4 {
  color: #1f2937;

  margin-bottom: 16px;

  font-weight: 700;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;
}

.impact_cover {
  padding: 24px;

  margin-top: 24px;
}

.impact_cover h4 {
  color: #1f2937;

  font-weight: 700;

  margin-bottom: 16px;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;
}

div#metrics h3 {
  margin-bottom: 16px;
}

.digital_block .guarantee_block {
  padding: 64px 0;

  background-image: linear-gradient(to bottom right, #1e3a8a, #6366f1, #3b82f6);

  text-align: center;
}

.digital_block .guarantee_cover {
  max-width: 896px;

  margin: 0 auto;

  padding: 0 48px;
}

.digital_block .guarantee_block h2 {
  font-size: 48px;

  line-height: 48px;

  font-weight: 700;

  color: #fff;

  font-family: Inter, system-ui, sans-serif;

  margin-bottom: 24px;

  margin-top: 24px;
}

.digital_block .guarantee_list .button_cover {
  justify-content: center;

  align-items: center;
}

.digital_block .guarantee_block p {
  color: hsla(0, 0%, 100%, 0.9);

  font-size: 20px;

  line-height: 32px;

  font-family: Inter, system-ui, sans-serif;

  max-width: 672px;

  margin: 0 auto;

  margin-bottom: 32px;
}

.digital_block .guarantee_item {
  display: flex;

  align-items: center;

  gap: 8px;
}

.digital_block .button_cover {
  flex-direction: row;

  gap: 16px;

  display: flex;

  transition: all 0.3s ease-out;

  text-align: center;

  font-family: Inter, system-ui, sans-serif;

  font-size: 16px;

  font-weight: 600;
}

.digital_block .banner_btn1 {
  background-color: #ff6b35;

  color: white;

  padding: 16px 32px;

  border-radius: 4px;

  transition: all 0.3s ease-out;

  text-align: center;

  font-size: 18px;

  font-family: Inter, system-ui, sans-serif;

  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000,
    0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.digital_block .banner_btn1:hover {
  transform: translate(0, -4px) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1);

  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000,
    0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;
}

.digital_block .banner_btn2 {
  background-color: rgb(255 255 255 / 1);

  color: #1e3a8a;

  text-align: center;

  padding: 16px 32px;

  border-radius: 4px;

  transition: all 0.3s ease-out;

  backdrop-filter: blur(4px);

  border: 2px solid hsla(0, 0%, 100%, 0.3);

  font-size: 18px;

  font-weight: 700;

  font-family: Inter, system-ui, sans-serif;

  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000,
    0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.digital_block .banner_btn2:hover {
  transform: translate(0, -4px) rotate(0) skewX(0) skewY(0) scaleX(1) scaleY(1);
}

/* FILTER BUTTON */

.mobile-filter-btn {
  display: none;

  align-items: center;

  justify-content: center;

  gap: 8px;

  padding: 12px;

  background: #3b82f6;

  color: #fff;

  border-radius: 10px;

  font-weight: 600;

  border: none;
}

/* Empty State Wrapper */

.empty-state {
  text-align: center;

  padding: 80px 20px;

  color: #1f2937;
}

/* Hidden utility */

.hidden {
  display: none;
}

/* Icon */

.empty-icon {
  width: 96px;

  height: 96px;

  margin: 0 auto 24px;

  border-radius: 9999px;

  background: #f1f5f9;

  display: flex;

  align-items: center;

  justify-content: center;

  color: #6b7280;
}

/* Title */

.empty-state h2 {
  font-size: 24px;

  font-weight: 600;

  margin-bottom: 12px;

  font-family: Inter, system-ui, sans-serif;
}

/* Description */

.empty-state p {
  max-width: 420px;

  margin: 0 auto 24px;

  font-size: 16px;

  color: #6b7280;

  font-family: Inter, system-ui, sans-serif;
}

/* Button */

.primary-btn {
  background: #3b82f6;

  color: #fff;

  border: none;

  padding: 12px 24px;

  font-size: 16px;

  font-family: Inter, system-ui, sans-serif;

  border-radius: 4px;

  cursor: pointer;

  box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000,
    0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

.primary-btn:hover {
  background: #2563eb;
}

/* Footer CSS */

@media (max-width: 1024px) {
  .footer_cover {
    display: flex;

    gap: 48px;

    align-items: unset;
  }
}

@media (max-width: 912px) {
  .footer_spacing {
    padding: 80px 24px;
  }

  .footer_cover {
    flex-wrap: wrap;
  }

  .footer_list {
    width: calc(50% - 24px);

    text-align: unset;
  }

  .terms_footer {
    font-size: 14px;
  }

  /* Header */

  .header_wrap a.icon,
  .closebtn {
    display: flex;

    color: #1f2937;
  }

  .menu-open .icon .hamburger_icon {
    display: none;
  }

  .mobile_menu {
    display: block;
  }

  /* Hide desktop CTA */

  .btn_1 {
    display: none;
  }

  .overlay-content {
    display: none;
  }

  /* Overlay menu */

  .overlay1 {
    position: fixed;

    width: 100%;

    height: 100%;

    top: 0;

    left: 0;

    background: rgba(0, 0, 0, 0.9);

    z-index: 999;

    display: none;
  }

  .overlay-content {
    display: block;

    margin: auto;

    text-align: center;
  }

  /* Mobile menu */

  .mobile_menu {
    display: none;
  }

  .mobile_menu.open {
    display: block;
  }

  /* Default state */

  .icon .close {
    display: none;
  }

  /* Menu open state */

  .menu-open .icon .hamburger {
    display: none;
  }

  .menu-open .icon .close {
    display: block;
  }

  .mobile_menu .mobile_list {
    padding: 12px 16px;

    color: #1f2937;

    font-size: 16px;

    font-family: Inter, system-ui, sans-serif;

    font-weight: 500;
  }

  .mobile_menu {
    position: absolute;

    width: 100%;

    background: #fff;

    padding: 12px 24px;
  }

  .mobile_menu nav {
    display: flex;

    flex-direction: column;

    gap: 8px;
  }

  .mobile_btn {
    color: white;

    padding: 12px 24px;

    border-radius: 8px;

    font-size: 16px;

    background-color: #ff6b35;

    font-weight: 600;

    font-family: Inter, system-ui, sans-serif;

    transition: all 0.3s ease-out;

    width: 100%;

    display: flex;

    margin-top: 8px;
  }

  .mobile_menu.open {
    display: block;

    border-top: 1px solid #e5e7eb;

    animation: slide-in-from-top 0.3s ease-out;
  }

  @keyframes slide-in-from-top {
    0% {
      transform: translateY(-100%);
    }

    100% {
      transform: translateY(0);
    }
  }

  .digital_block .guarantee_cover {
    padding: 0 24px;
  }

  .digital_block .guarantee_block h2 {
    font-size: 36px;

    line-height: 40px;
  }

  .portfolio-grid {
    display: flex;

    flex-wrap: wrap;
  }

  .portfolio-card {
    width: calc(50% - 16px);
  }

  .header_spacing {
    padding: 0 24px;
  }

  .main_grid {
    padding: 64px 24px;
  }

  .mobile-filter-btn {
    display: flex;
  }

  .filter_cover {
    display: none;

    flex-direction: column;

    background: #fff;

    padding: 12px;

    border-radius: 12px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  }

  .filter_cover.active {
    display: flex;
  }

  .filter_cover select,
  .filter_cover button {
    width: 100%;

    padding: 12px;

    border-radius: 8px;

    border: 1px solid #e5e7eb;
  }

  .filters {
    flex-direction: column;
  }

  .banner_hero .banner_heading {
    font-size: 48px;
  }

  .play-btn {
    width: 60px;

    height: 60px;
  }

  .play-btn svg {
    width: 30px;

    height: 30px;
  }
}

@media (max-width: 540px) {
  .footer_list {
    width: 100%;
  }

  .footer_bottom {
    flex-direction: column;

    gap: 16px;

    align-items: center;
  }

  .flex_main {
    gap: 16px;

    flex-wrap: wrap;
  }

  .portfolio-card {
    width: 100%;
  }

  .modal_content {
    padding: 24px;
  }

  .modal-actions {
    flex-wrap: wrap;
  }

  .btn-orange,
  .btn-blue {
    width: 100%;
  }

  .info-grid .info-item {
    width: 100%;
  }

  .metrics-grid {
    display: flex;

    gap: 15px;

    flex-wrap: wrap;
  }

  .metrics-grid .metrics_item {
    width: 100%;
  }

  .impact-list li {
    align-items: flex-start;
  }

  .modal-box {
    width: 100%;
  }

  .play-btn {
    background: #f97316;

    color: #fff;

    width: 40px;

    height: 40px;
  }

  svg.text-white {
    width: 20px;

    height: 20px;

    object-fit: cover;
  }

  .satisfaction {
    display: flex;

    flex-wrap: wrap;
  }

  .satisfaction .item_block {
    width: 100%;
  }

  .banner_hero .banner_heading {
    font-size: 36px;
  }

  .banner_hero .banner_para {
    font-size: 20px;
  }

  .flex_item {
    width: calc(50% - 8px);
  }

  .banner_hero .banner_content {
    padding: 0 24px;
  }

  .banner_hero .main_banner {
    padding: 48px 0;
  }

  .flex_item h2 {
    font-size: 30px;
  }

  .digital_block .guarantee_block h2 {
    font-size: 30px;
  }

  .digital_block .button_cover {
    flex-direction: column;
  }

  .digital_block .banner_btn1,
  .digital_block .banner_btn2 {
    width: 100%;
  }

  .modal-tabs {
    gap: 0;
  }

  .modal-tabs .tab {
    padding: 12px 20px;
  }
}
