.elementor-766 .elementor-element.elementor-element-3102ccf{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-766 .elementor-element.elementor-element-51eb0dc{width:100%;max-width:100%;}.elementor-766 .elementor-element.elementor-element-51eb0dc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-766 .elementor-element.elementor-element-b00a1d7{--display:flex;}.elementor-766 .elementor-element.elementor-element-f1cb0ef{width:100%;max-width:100%;}.elementor-766 .elementor-element.elementor-element-f1cb0ef > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-766 .elementor-element.elementor-element-08a4887{--display:flex;}.elementor-766 .elementor-element.elementor-element-d5b46f1{width:100%;max-width:100%;}.elementor-766 .elementor-element.elementor-element-d5b46f1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-766 .elementor-element.elementor-element-0180595{--display:flex;}.elementor-766 .elementor-element.elementor-element-77d8ddd{width:100%;max-width:100%;}.elementor-766 .elementor-element.elementor-element-77d8ddd > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-posts .elementor-post__meta-data{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .elementor-post__excerpt p{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts a.elementor-post__read-more{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-766 .elementor-element.elementor-element-2c5d1b1{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-766 .elementor-element.elementor-element-2c5d1b1 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-766 .elementor-element.elementor-element-2c5d1b1:after{content:"0.66";}.elementor-766 .elementor-element.elementor-element-2c5d1b1 .elementor-post__thumbnail__link{width:100%;}.elementor-766 .elementor-element.elementor-element-2c5d1b1 .elementor-post__meta-data span + span:before{content:"///";}.elementor-766 .elementor-element.elementor-element-2c5d1b1.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-766 .elementor-element.elementor-element-2c5d1b1.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-766 .elementor-element.elementor-element-2c5d1b1.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}.elementor-766 .elementor-element.elementor-element-d07bbd5{--display:flex;}.elementor-766 .elementor-element.elementor-element-d1fb2b3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-766 .elementor-element.elementor-element-4392ab6{--display:flex;}.elementor-766 .elementor-element.elementor-element-3017316 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-766 .elementor-element.elementor-element-382d25a{--display:flex;}.elementor-766 .elementor-element.elementor-element-ff702b6 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-766 .elementor-element.elementor-element-34aff28{--display:flex;}.elementor-766 .elementor-element.elementor-element-de6008b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-766 .elementor-element.elementor-element-b00a1d7{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-766 .elementor-element.elementor-element-08a4887{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-766 .elementor-element.elementor-element-0180595{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-766 .elementor-element.elementor-element-d07bbd5{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-766 .elementor-element.elementor-element-4392ab6{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-766 .elementor-element.elementor-element-2c5d1b1 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-766 .elementor-element.elementor-element-2c5d1b1:after{content:"0.5";}.elementor-766 .elementor-element.elementor-element-2c5d1b1 .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS for container, class: .elementor-element-d07bbd5 *//* ================================================ */
/* КАРУСЕЛЬ НОВИН - CSS (ГОТОВИЙ КОД)             */
/* Скопіюйте весь код і вставте в Custom CSS      */
/* ================================================ */

.dm-news-carousel {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  overflow: hidden;
}

.dm-news-carousel-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 20px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.dm-news-carousel-track::-webkit-scrollbar {
  display: none;
}

.dm-news-item {
  flex: 0 0 85%;
  max-width: 400px;
  scroll-snap-align: start;
  position: relative;
  background: #fff;
  border: 1px solid #dbe5f0;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(16, 24, 40, .10), 0 3px 8px rgba(16, 24, 40, .05);
  transition: transform .2s ease, box-shadow .2s ease;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .dm-news-item {
    flex: 0 0 48%;
  }
}

.dm-news-item a {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.dm-news-item::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 6px;
  background: linear-gradient(90deg, #1fcf90 0%, #ff8a3d 100%);
  border-top-left-radius: 22px;
  border-top-right-radius: 22px;
  z-index: 1;
}

.dm-news-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 44px rgba(16, 24, 40, .14), 0 8px 14px rgba(16, 24, 40, .08);
}

.dm-news-item-img {
  height: 200px;
  background: #eef3f8;
  overflow: hidden;
  position: relative;
}

.dm-news-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}

.dm-news-item:hover .dm-news-item-img img {
  transform: scale(1.05);
}

.dm-news-item-img.loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #eef3f8 25%, #e0e7ef 50%, #eef3f8 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.dm-news-item-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.dm-news-item-title {
  margin: 0;
  color: #0f2840;
  font: 800 20px/1.25 Inter, system-ui, sans-serif;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.dm-news-item-excerpt {
  margin: 0;
  color: #3a4a5d;
  font-size: 15px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  flex: 1;
}

.dm-news-item-date {
  margin-top: auto;
  font-size: 14px;
  color: #5b667a;
  font-weight: 600;
}

.dm-news-carousel-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}

.dm-news-carousel-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #dbe5f0;
  background: #fff;
  color: #6694ba;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .2s ease;
  box-shadow: 0 4px 12px rgba(16, 24, 40, .08);
  font-size: 18px;
  font-weight: 700;
}

.dm-news-carousel-btn:hover {
  background: #6694ba;
  color: #fff;
  transform: scale(1.08);
  box-shadow: 0 6px 16px rgba(16, 24, 40, .12);
}

.dm-news-carousel-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  transform: none;
}

.dm-news-carousel-btn:disabled:hover {
  background: #fff;
  color: #6694ba;
}

.dm-news-carousel-dots {
  display: flex;
  gap: 8px;
}

.dm-news-carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #cbd5e1;
  cursor: pointer;
  transition: all .2s ease;
}

.dm-news-carousel-dot.active {
  background: #6694ba;
  width: 20px;
  border-radius: 4px;
}

.dm-news-carousel.loading .dm-news-item-content {
  opacity: 0.5;
}

.dm-news-carousel-error {
  padding: 40px 20px;
  text-align: center;
  color: #5b667a;
  font-size: 16px;
}

@media (max-width: 480px) {
  .dm-news-carousel-btn {
    width: 36px;
    height: 36px;
    font-size: 16px;
  }
}/* End custom CSS */
/* Start custom CSS *//* === HERO (адаптивна висота + позиціонування нижче центру) === */
.dm-hero {
  position: relative;
  min-height: 90vh; /* мобільна висота за замовчуванням */
  overflow: hidden;
  color: #fff;
  font-family: Inter, system-ui, sans-serif;
}

/* адаптивна висота */
@media (min-width: 768px) {
  .dm-hero { min-height: 85vh; }
}
@media (min-width: 1280px) {
  .dm-hero { min-height: 80vh; }
}

.dm-hero video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.68);
  opacity: 0;
  animation: heroFadeIn .8s ease .05s forwards;
}

.dm-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.65) 100%);
  pointer-events: none;
}

/* внутрішній контейнер */
.dm-hero-inner {
  position: relative;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 20px 20px;
}

/* контентний блок */
.dm-hero-content {
  max-width: 880px;
  text-align: center;
  margin: 0 auto;
  padding-left: 24px;
  margin-top: auto;
  padding-bottom: 10px;
}

/* заголовок */
.dm-hero-content h1 {
  margin: 0 0 24px;
  font-weight: 800;
  line-height: 1.12;
  font-size: clamp(28px, 5vw, 48px);
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
  opacity: 0;
  transform: translateY(10px);
  animation: heroUp .6s ease .15s forwards;
}

/* кнопка */
.dm-hero-cta {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.dm-hero .dm-btn {
  display: inline-grid;
  place-items: center;
  padding: 12px 22px;
  min-width: 240px;
  border-radius: 14px;
  border: 1px solid #dfe3ea;
  background: #fff;
  color: #0f172a;
  font-weight: 700;
  font-size: 18px;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
  opacity: 0;
  transform: translateY(10px);
  animation: heroUp .6s ease .3s forwards;
}

.dm-hero .dm-btn.dm-btn-primary {
  background: #6694ba;
  border-color: #6694ba;
  color: #fff;
  box-shadow: 0 8px 22px rgba(0,0,0,.18);
}

.dm-hero .dm-btn:hover {
  transform: translateY(-1px);
}

/* логотипи */
.dm-hero-logos {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-top: auto;
  margin-bottom: 20px; /* 🔹 підняття від нижнього краю */
}

.dm-hero-logos img {
  height: clamp(28px, 4vw, 48px);
  max-width: 180px;
  object-fit: contain;
  display: block;
  opacity: 0;
  transform: translateY(6px);
  animation: heroUp .5s ease .45s forwards;
}

.dm-hero-logos img:nth-child(2) { animation-delay: .55s; }
.dm-hero-logos img:nth-child(3) { animation-delay: .65s; }

/* позиціонування для великих екранів */
@media (min-width: 1024px) {
  .dm-hero-content {
    text-align: left;
    margin: 0;
    padding-left: 80px;
    position: absolute;
    top: 60%;            /* нижче центру */
    transform: translateY(-50%); /* центрування */
    padding-bottom: 0;
  }

  .dm-hero-cta {
    justify-content: flex-start;
  }
}

/* адаптивний відступ логотипів від краю */
@media (max-width: 767px) {
  .dm-hero-logos {
    margin-bottom: 30px; /* 🔹 менший відступ на мобільних */
  }
}

/* анімації */
@keyframes heroUp {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes heroFadeIn {
  to { opacity: 1; }
}

/* без анімацій для prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .dm-hero * { animation: none !important; transition: none !important; }
  .dm-hero video,
  .dm-hero-content h1,
  .dm-hero .dm-btn,
  .dm-hero-logos img { opacity: 1 !important; transform: none !important; }
}
/*=== ДОСЯГНЕННЯ===*/
/* === ДОСЯГНЕННЯ (2 КАРТКИ ПО ЦЕНТРУ) === */
.dm-achievements {
  background:#fff;
  padding:90px 0 100px;
}
.dm-achievements .dm-container {
  max-width:1280px;
  margin:0 auto;
  padding:0 32px;
}

/* Заголовок */
.achv-head {
  margin:0 0 40px;
  text-align:center; /* 🔹 тепер заголовок по центру */
}
.achv-head h2 {
  margin:0 0 10px;
  font-weight:900;
  font-size:42px;
  line-height:1.15;
  color:#0f1c2b;
}
.achv-head .achv-lead {
  margin:0;
  color:#425b72;
  font-size:18px;
  max-width:820px;
  margin-inline:auto;
}

/* Сітка карток */
.achv-grid {
  display:flex;
  justify-content:center; /* 🔹 центруємо блок по горизонталі */
  align-items:stretch;
  gap:32px;
  flex-wrap:wrap;
}

/* Картка */
.achv-card {
  position:relative;
  background:#fff;
  border:1px solid #dbe5f0;
  border-radius:22px;
  overflow:hidden;
  padding:26px 32px 30px;
  width:320px; /* 🔹 фіксована ширина для симетрії */
  box-shadow:0 14px 34px rgba(16,24,40,.10),0 3px 8px rgba(16,24,40,.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  text-align:center;
}
.achv-card::before {
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:6px;
  background:linear-gradient(90deg,#1fcf90 0%,#ff8a3d 100%);
  border-top-left-radius:22px;
  border-top-right-radius:22px;
}
.achv-card:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(16,24,40,.14),0 8px 14px rgba(16,24,40,.08);
  border-color:#cfdceb;
}

/* Іконка + тег */
.achv-meta {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:6px;
}
.achv-icon {
  width:36px;
  height:36px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:18px;
  background:#f2f7fb;
  color:#17324a;
  border:1px solid #e5edf4;
}
.achv-tag {
  font-size:13px;
  color:#496079;
  background:#f7fafc;
  border:1px solid #e5edf4;
  border-radius:999px;
  padding:4px 10px;
  font-weight:600;
}

/* Значення */
.achv-value {
  font-weight:900;
  letter-spacing:-0.5px;
  font-size:46px;
  line-height:1.05;
  color:#0f2840;
  margin:6px 0 8px;
}
.achv-value span {
  font-weight:800;
  font-size:.52em;
  color:#5b667a;
  margin-left:6px;
}

/* Підпис - 🔹 ВИПРАВЛЕНО: уніфікований розмір 20px */
.achv-title {
  font:800 20px/1.25 Inter,system-ui,sans-serif;
  color:#17324a;
  margin:0 0 4px;
}
.achv-note {
  margin:0;
  color:#3a4a5d;
  font-size:15px;
  line-height:1.5;
}

/* Адаптив */
@media (max-width: 768px) {
  .dm-achievements .dm-container { padding:0 20px; }
  .achv-grid { flex-direction:column; align-items:center; gap:24px; }
  .achv-card { width:90%; max-width:360px; }
  .achv-value { font-size:38px; }
}


/*=== КІНЕЦЬ ДОСЯГНЕННЯ===*/
/*=== МАПА===*/
.dm-map {
  background:#fff;
  padding:80px 0;
  font-family:Inter,system-ui,sans-serif;
}

/* 🔹 ВИПРАВЛЕНО: уніфікований розмір 42px та font-weight: 900 */
.dm-map h2 {
  font-weight:900;
  font-size:42px;
  line-height:1.15;
  color:#0f1c2b;
  margin:0 0 6px;
}

.dm-map .dm-lead {
  color:#425b72;
  font-size:18px;
  margin:0 0 24px;
}

.ua-map {
  position:relative;
  max-width:1100px;
  margin:0 auto;
}

.ua-map-bg {
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
}

/* ===== ПІНИ ===== */
.ua-pin {
  --x:50;
  --y:50;
  position:absolute;
  left: calc(var(--x) * 1%);
  top: calc(var(--y) * 1%);
  transform: translate(-50%, -100%);
  background-image: url("https://demining.net/wp-content/uploads/2025/10/location-pin.png");
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  filter: drop-shadow(0 2px 6px rgba(16,24,40,.18));
  cursor:pointer;
  transition:transform .15s ease, filter .15s ease;
}

/* Ефект при наведенні */
.ua-pin:hover {
  transform: translate(-50%, -100%) scale(1.08);
  filter: drop-shadow(0 4px 12px rgba(16,24,40,.24));
}

/* ---- Розміри пінів ---- */
/* Базово (мобільні до 1024px) — 1.5x */
.ua-pin {
  width: clamp(30px, 4vw, 45px);
  height: clamp(30px, 4vw, 45px);
}

/* На великих екранах (від 1024px) — 3x */
@media (min-width: 1024px) {
  .ua-pin {
    width: clamp(48px, 5vw, 72px);
    height: clamp(48px, 5vw, 72px);
  }
}

/* ===== КООРДИНАТИ ===== */
.ua-pin[data-city="kyiv"] { --x:71.5; --y:24; }
.ua-pin[data-city="kharkiv"] { --x:90.5; --y:27; }
.ua-pin[data-city="lviv"] { --x:32; --y:30; }
.ua-pin[data-city="dnipro"] { --x:82; --y:47.5; }
.ua-pin[data-city="odessa"] { --x:60; --y:75.5; }
.ua-pin[data-city="zaporizhzhia"] { --x:78; --y:62; }
.ua-pin[data-city="mykolaiv"] { --x:63; --y:71; }

/* ===== ПІДКАЗКИ ===== */
.ua-pin-info {
  position: absolute;
  bottom: 110%;
  left: 50%;
  transform: translateX(-50%) scale(.92);
  background: #fff;
  border-radius: 14px;
  padding: 10px 16px;
  font-size: 14px;
  color: #0f1c2b;
  white-space: nowrap;
  box-shadow: 0 6px 18px rgba(16,24,40,.20), 0 2px 6px rgba(16,24,40,.10);
  border: 1px solid #e5edf4;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
  z-index: 9999;
}

.ua-pin:hover .ua-pin-info {
  opacity: 1;
  transform: translateX(-50%) scale(1);
  pointer-events: auto;
}

/* Стрілочка підказки */
.ua-pin-info::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #fff;
}

.ua-pin-info strong {
  display: block;
  font-weight: 800;
  margin-bottom: 2px;
  color: #0f2840;
}

.ua-pin-info span {
  color: #5b667a;
  font-size: 13px;
  font-weight: 600;
}
/*КІНЕЦЬ МАПА*/
/*НОВИНИ*/
/* === НОВИНИ === */
.dm-news-head {
  padding:80px 32px 20px;
  text-align:center;
}
/* 🔹 ВИПРАВЛЕНО: уніфікований розмір 42px */
.dm-news-head h2 {
  margin:0 0 12px;
  font-weight:900;
  font-size:42px;
  line-height:1.15;
  color:#0f1c2b;
}
.dm-news-head p {
  color:#425b72;
  font-size:18px;
  margin:0;
}

.elementor-widget-posts .elementor-posts-container {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:28px;
  padding:0 32px 50px;
  max-width:1280px;
  margin:0 auto;
}

.elementor-widget-posts .elementor-post {
  position:relative;
  background:#fff;
  border:1px solid #dbe5f0;
  border-radius:22px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
  box-shadow:0 14px 34px rgba(16,24,40,.10),0 3px 8px rgba(16,24,40,.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.elementor-widget-posts .elementor-post::before {
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:6px;
  background:linear-gradient(90deg,#1fcf90 0%,#ff8a3d 100%);
  border-top-left-radius:22px;
  border-top-right-radius:22px;
}
.elementor-widget-posts .elementor-post:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(16,24,40,.14),0 8px 14px rgba(16,24,40,.08);
  border-color:#cfdceb;
}

.elementor-widget-posts .elementor-post__thumbnail img {
  width:100%;
  height:200px;
  object-fit:cover;
  display:block;
}

.elementor-widget-posts .elementor-post__text {
  padding:18px 18px 20px;
  flex-grow:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:152px;
}
.elementor-widget-posts .elementor-post__title {
  font:800 20px/1.22 Inter,system-ui,sans-serif;
  margin:0 0 6px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  color:#17324a;
}
.elementor-widget-posts .elementor-post__excerpt p {
  margin:0;
  color:#3a4a5d;
  font-size:15.5px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.elementor-widget-posts .elementor-post__meta-data {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  font-size:14px;
  color:#5b667a;
  margin-top:auto;
}
.elementor-widget-posts .elementor-post-date {
  display:flex;
  align-items:center;
  gap:5px;
}

/* Кнопка "всі новини" */
.dm-news-more {
  padding:50px 32px 90px;
  text-align:center;
}
.dm-news-more .dm-news-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#6694ba;
  color:#fff;
  font-weight:700;
  font-size:18px;
  padding:12px 32px;
  border-radius:14px;
  text-decoration:none;
  border:1px solid #6694ba;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.dm-news-more .dm-news-btn:hover {
  transform:translateY(-1px);
  background:#557fa1;
}

/* === АДАПТИВ === */
@media (max-width: 767.98px) {
  .dm-news-head {padding-top:50px}
  .elementor-widget-posts .elementor-post__text {min-height:auto}
  .elementor-widget-posts .elementor-posts-container {padding:0 20px}
  .dm-news-more {padding:28px 20px 70px}
}


/*КІНЕЦЬ НОВИНИ*/
/*Технології і методи*/
/* === ТЕХНОЛОГІЇ І МЕТОДИ — картки з фото (мінімум тексту) === */
.dm-tech-cards {
  --brand:#6694ba;
  --ink:#0f1c2b;
  --muted:#5b667a;
  --accent-a:#1fcf90; /* зелений */
  --accent-b:#ff8a3d; /* помаранчевий */
  background:linear-gradient(180deg,#f7f9fc 0%,#ffffff 100%);
  padding:90px 0 100px;
  font-family:Inter,system-ui,sans-serif;
}
.dm-tech-cards .dm-container {
  max-width:1280px;
  margin:0 auto;
  padding:0 32px;
}

/* 🔹 Заголовок — вирівняно вліво */
.dm-tech-cards h2 {
  text-align:left;
  color:var(--ink);
  font-weight:900;
  font-size:42px;
  margin:0 0 48px;
  line-height:1.15;
}

/* Сітка */
.tech-grid {
  display:grid;
  gap:28px;
}
@media (min-width:768px) {
  .tech-grid { grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1200px) {
  .tech-grid { grid-template-columns:repeat(3,1fr); }
}

/* Картка */
.tech-card {
  position:relative;
  display:flex;
  flex-direction:column;
  border:1px solid #dbe5f0;
  border-radius:22px;
  background:#fff;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  box-shadow:0 14px 34px rgba(16,24,40,.10),0 3px 8px rgba(16,24,40,.05);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tech-card:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(16,24,40,.14),0 8px 14px rgba(16,24,40,.08);
  border-color:#cfdceb;
}

/* Верхня смужка у стилі сайту */
.tech-card::before {
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:6px;
  background:linear-gradient(90deg,var(--accent-a) 0%,var(--accent-b) 100%);
  border-top-left-radius:22px;
  border-top-right-radius:22px;
}

/* Фото */
.tech-media {
  height:180px;
  background:#eef3f8;
}
.tech-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Контент */
.tech-content {
  padding:18px 18px 20px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.tech-title {
  margin:0;
  color:#17324a;
  font:800 20px/1.22 Inter,system-ui,sans-serif;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:calc(1.22em * 1);
}
.tech-excerpt {
  margin:0;
  color:#3a4a5d;
  font-size:15.5px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}

/* Прибрані теги (dm-tags) */
.dm-tech-cards .dm-tags { display:none !important; }
/*КІНЕЦЬ ТЕХНОЛОГІЇ І МЕТОДИ*/
/*ВІДНОВЛЕНІ ТЕРИТОРІЇ*/
/* === ВІДНОВЛЕНІ ТЕРИТОРІЇ (заголовок зверху, ліве вирівнювання) === */
.dm-projects {
  background:#f5f8fb;
  padding:100px 0 110px;
}

.dm-projects .dm-container {
  max-width:1280px;
  margin:0 auto;
  padding:0 32px; /* той самий внутрішній відступ, що і в картках */
}

/* Заголовок - 🔹 ВИПРАВЛЕНО: уніфікований розмір 42px */
.projects-head {
  margin-bottom:50px;
  text-align:left;
}
.projects-head h2 {
  color:#0f1c2b;
  font-weight:900;
  font-size:42px;
  line-height:1.15;
  margin:0 0 14px;
}
.projects-head p {
  font-size:18px;
  color:#475a6f;
  margin:0;
}

/* Сітка карток */
.projects-cards {
  display:grid;
  gap:28px;
  justify-items:start;
}
@media(min-width:768px){.projects-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1200px){.projects-cards{grid-template-columns:repeat(3,1fr)}}

/* Картка */
.project-card {
  position:relative;
  background:#fff;
  border:1px solid #dbe5f0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(16,24,40,.10),0 3px 8px rgba(16,24,40,.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.project-card::before {
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:6px;
  background:linear-gradient(90deg,#1fcf90 0%,#ff8a3d 100%);
  border-top-left-radius:22px;
  border-top-right-radius:22px;
}
.project-card:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(16,24,40,.14),0 8px 14px rgba(16,24,40,.08);
  border-color:#cfdceb;
}

/* Фото */
.project-img img {
  width:100%;
  height:180px;
  object-fit:cover;
  border-top-left-radius:22px;
  border-top-right-radius:22px;
}

/* Контент */
.project-body {
  padding:18px 20px 24px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.project-body h3 {
  margin:0;
  color:#0f2840;
  font:800 20px/1.25 Inter,system-ui,sans-serif;
}
.project-loc {
  margin:0 0 6px;
  color:#5b667a;
  font-size:15px;
}
.project-stats {
  list-style:none;
  padding:0;
  margin:0 0 8px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.project-stats li {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:15px;
  color:#0f1c2b;
  background:#f8fafc;
  border:1px solid #e5edf4;
  border-radius:22px;
  padding:6px 14px;
  width:max-content;
}
.project-stats li span {
  color:#475a6f;
  font-weight:600;
}
.project-period {
  margin-top:6px;
  font-size:15px;
  color:#374151;
}

/* Кнопка */
.projects-more {
  margin-top:60px;
  text-align:center;
}
.projects-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#6694ba;
  color:#fff;
  font-weight:700;
  font-size:18px;
  padding:12px 32px;
  border-radius:14px;
  text-decoration:none;
  transition:background .2s ease;
}
.projects-btn:hover {
  background:#557fa1;
}

/*КІНЕЦЬ ВІДНОВЛЕНІ ТЕРИТОРІЇ*/
/*===ПАРТНЕРИ===*/
/* === ПАРТНЕРИ === */
.dm-partners {
  background: #fff;
  padding: 90px 0 100px;
}

.dm-partners .partners-title {
  margin: 0 0 10px;
  font-weight: 900;
  font-size: 42px;
  line-height: 1.15;
  color: #0f1c2b;
  text-align: left;
}

.dm-partners .partners-sub {
  margin: 0 0 26px;
  color: #425b72;
  font-size: 18px;
  text-align: left;
  max-width: 820px;
}

/* сітка логотипів */
.partners-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: center;
}

/* плитка логотипа */
.partner-item {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #e5edf4;
  border-radius: 16px;
  padding: 20px 24px;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
  box-shadow: 0 6px 16px rgba(16, 24, 40, .06);
}

/* логотип: дозволяємо широкий формат, але з обмеженням по висоті */
.partner-item img {
  width: auto;              /* дозволяє пропорційне масштабування */
  height: auto;
  max-width: 100%;          /* не виходить за межі картки */
  max-height: 70px;         /* ↑ більше, ніж раніше (було 46px) */
  object-fit: contain;
  display: block;
  filter: grayscale(100%) contrast(1.05);
  opacity: .9;
}

/* hover */
.partner-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(16, 24, 40, .10);
  border-color: #cfdceb;
}
.partner-item:hover img {
  filter: none;
  opacity: 1;
}

/* адаптивність */
@media (max-width: 768px) {
  .partners-grid {
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
  .partner-item img {
    max-height: 60px;
  }
}

@media (max-width: 480px) {
  .partners-grid {
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }
  .partner-item img {
    max-height: 50px;
  }
}

/*КІНЕЦЬ ПАРТНЕРИ*/


/*КІНЕЦЬ ПАРТНЕРИ*//* End custom CSS */