/* ============================================================
   A-GROUP Theme — Main Stylesheet
   Color palette from mockup: dark charcoal, copper/orange accent
   ============================================================ */

/* ── Variables ──────────────────────────────────────────────── */
:root {
  --color-primary:    #E27D5D;   /* copper accent */
  --color-primary-d:  #a86e2a;
  --color-dark:       #19263E;
  --color-dark-2:     #2b2b2b;
  --color-dark-3:     #3d3d3d;
  --color-light:      #f5f5f5;
  --color-gray:       #f0eeeb;
  --color-gray-mid:   #999;
  --color-white:      #ffffff;
  --color-text:       #333333;
  --color-text-light: #666666;

  --font-heading: 'Gilroy', sans-serif;
  --font-body:    'Gilroy', sans-serif;
  --radius:  4px;
  --radius-md: 8px;
  --transition: 0.3s ease;
  --shadow: 0 4px 24px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.18);

  --container: 1440px;
  --header-h: 88px;
}

/* ── Reset & Base ────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--transition); }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* Google Fonts */
/* ── Gilroy — @font-face ──────────────────────────────────── */

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/gilroy-light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/gilroy-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/gilroy-medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/gilroy-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Gilroy';
  src: url('../fonts/gilroy-heavy.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* ── Container ───────────────────────────────────────────────── */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding-block: 0;
  padding-inline:clamp(0.9375rem, -0.0919rem + 3.9216vw, 3.4375rem);
}
.container-information { position: relative; z-index: 2; padding-bottom: 64px; display:flex;
justify-content:flex-start; width:100%;}
/* ── Sections ────────────────────────────────────────────────── */
.section { padding: 80px 0; }
.section--gray { background: var(--color-gray); }
.section--dark { background: var(--color-dark); }

.section-title {
  color: var(--color-dark);
  line-height: 1.3em;
  margin-bottom: 24px;
  position: relative;
}

.section-title--light { color: var(--color-white); }
.section-title--light::after { background: var(--color-primary); }

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.section-header .section-title {
	margin-bottom: 64px;
	max-width:620px;
}

/* ── Buttons ─────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-inline:clamp(0.75rem, 0.2353rem + 1.9608vw, 2rem);
  padding-block:clamp(1.125rem, 1.0585rem + 0.2128vw, 1.25rem);
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: all var(--transition);
  white-space: nowrap;
}
.btn--primary {
  background: var(--color-primary);
  color: var(--color-white);
  border: 2px solid var(--color-primary);
}
.btn--primary:hover {
  background: var(--color-primary-d);
  border-color: var(--color-primary-d);
}
.btn--outline {
  background: transparent;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
}
.btn--outline:hover {
  background: var(--color-primary);
  color: var(--color-white);
}
.btn--outline-light {
  background: transparent;
  color: var(--color-white);
  border: 2px solid rgba(255,255,255,0.5);
}
.btn--outline-light:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.btn--text {
  background: none;
  border: none;
  color: var(--color-primary);
  padding: 0;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}
.btn--text:hover { color: var(--color-primary-d); }
.btn__arrow { transition: transform var(--transition); }
.btn--text:hover .btn__arrow { transform: translateX(4px); }

/* ══════════════════════════════════════════════════════════════
   HEADER
══════════════════════════════════════════════════════════════ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
}

/* ══════════════════════════════════════════════════════════════
   HEADER — прозорий поверх hero
══════════════════════════════════════════════════════════════ */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;

}
.site-header.is-scrolled {
  background: rgba(15, 25, 50, 1);
  box-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

/* Компенсація висоти шапки щоб контент не ховався під нею */
/*.site-main { padding-top: var(--header-h); }*/
.site-main { padding-top: 0; }
/* Але на головній hero перекриває — тому знімаємо відступ */
.home .site-main,
.page-template-template-about .site-main {
	padding-top: 0;
}

.header-inner {
  display: flex;
  align-items: center;
justify-content:space-between;
  height: var(--header-h);
  gap: 0;
}
.is-scrolled .header-inner {
  height: 65px;
}
/* Логотип */
.header-logo { flex-shrink: 0; padding-right:clamp(0.625rem, -3.0147rem + 5.2941vw, 1.75rem);}
.header-logo__img { height: 52px; width: auto; }
.header-logo__text {
  font-family: var(--font-heading);
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--color-white);
}

/* Роздільники */
.header-divider {
  display: block;
  width: 1px;
  height: 32px;
  background: rgba(255,255,255,1);
  flex-shrink: 0;
}
h1 {
font-weight: 500;
font-size: clamp(1.75rem, -3.5074rem + 7.6471vw, 3.375rem);
line-height: 1.3em;
letter-spacing: 0;
text-transform: uppercase;
color:var(--color-white);	
}
h2 {
font-weight: 500;
font-size: clamp(1.625rem, 1.1136rem + 1.8182vw, 2.75rem);
line-height: 1.3em;
letter-spacing: 0.01em;
text-transform: uppercase;
color:var(--color-white);
}
h3 {
font-weight:500;
font-size: clamp(1.375rem, 1.0909rem + 1.0101vw, 2rem);
line-height: 1.3em;
letter-spacing: 0.01em;
text-transform: uppercase;
color:#19263E;
}
h4 {
font-family: Gilroy;
font-weight: 600;
font-size: clamp(1.125rem, 0.8571rem + 0.7143vw, 1.5rem);
line-height: 1.5em;
letter-spacing: 0.01em;
text-transform: uppercase;
}
h5 {
font-family: Gilroy;
font-weight: 600;
font-size: 18px;
line-height: 1.5em;
letter-spacing: 0.01em;
}
/* Навігація */


/* Права частина */
.header-right {
  display: flex;
  align-items: center;
  gap: 0;
  padding-left:clamp(0.625rem, -3.0147rem + 5.2941vw, 1.75rem);
  flex-shrink: 0;
}

/* Перемикач мови */
.header-lang {
  position: relative;
  margin-right: 20px;
}
.header-lang__toggle {
  display: flex;
  align-items: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.85);
  padding: 6px 4px;
  transition: color var(--transition);
}
.header-lang__toggle:hover { color: var(--color-white); }
.header-lang__arrow {
  transition: transform var(--transition);
  flex-shrink: 0;
}
.header-lang.is-open .header-lang__arrow { transform: rotate(180deg); }

.header-lang__dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  background: rgba(15,25,50,0.97);
  border-top: 2px solid var(--color-primary);
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
  list-style: none;
  padding: 6px 0;
  min-width: 80px;
  z-index: 200;
}
.header-lang__dropdown[hidden] { display: none; }
.header-lang__item {
  display: block;
  padding: 8px 18px;
  font-family: var(--font-heading);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.7);
  transition: color var(--transition), background var(--transition);
}
.header-lang__item:hover { color: var(--color-white); background: rgba(255,255,255,0.06); }
.header-lang__item.is-active { color: var(--color-primary); }

/* Кнопка Замовити дзвінок */
.header-cta-btn,
.btn{
  display: flex;
  align-items: center;
  gap: 8px;
  padding-inline:clamp(0.75rem, 0.2353rem + 1.9608vw, 2rem);
  padding-block:clamp(1.125rem, 1.0585rem + 0.2128vw, 1.25rem);
  background: transparent;
  border: 1px solid rgba(255,255,255,1);
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0em;
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--transition);
}
.header-cta-btn:hover,
.btn:hover{
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.header-cta-btn svg, .btn svg { flex-shrink: 0; transition: transform var(--transition); }
.header-cta-btn:hover svg, .btn:hover svg  { transform: translateX(3px); }
.callback-form__submit {
	background:var(--color-primary);
}
.header-logo { flex-shrink: 0; }
.header-logo__img { height: 48px; width: auto; }
.header-logo__text {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--color-dark);
}

.site-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  transition: all var(--transition);
}
.site-overlay.is-active { opacity: 1; visibility: visible; }

/* Main menu */
/* ==========================================*/

/* Навігація */
.header-nav {
  flex: 0;
  padding-block:0;
	padding-inline:clamp(0.625rem, -3.0147rem + 5.2941vw, 1.75rem);
}
.header-nav__list {
  display: flex;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0; padding: 0;
}

.header-nav__list > li:not(:last-of-type) {
margin-right:clamp(0.9375rem, 0.7059rem + 0.8824vw, 1.5rem);
}
.header-nav__list > li {
position:relative;
}
.header-nav__list > li.menu-item-has-children {
margin-right:39px;
}
.header-nav__list > li.menu-item-has-children::before {
content:"";
position:absolute;
background:url(../img/sub-menu-arrow.svg);
width:11px;
height:11px;
right:-15px;
top:50%;
transform:translateY(-50%);
}
.header-nav.is-open .header-nav__list > li.menu-item-has-children::before {
	top:25px;
}
.hero-swiper::before {
    content: "";
    position: absolute;
    background: url(../img/hero-decor.svg);
    width: 682px;
    height: 749px;
    right: 0px;
    bottom: 0%;
    z-index: 2;
	pointer-events:none;
}

.header-nav__list > li > a {
  display: block;
  font-family: var(--font-heading);
  font-size: clamp(0.875rem, 0.4375rem + 0.625vw, 1rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-white);
  transition: color var(--transition);
  white-space: nowrap;
  position: relative;
}
.header-nav__list > li > a::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 0px;
  width:100%;
  right: 0px;
  height: 2px;
  background: var(--color-primary);
  transform: scaleX(0);
  transition: transform var(--transition);
}
.header-nav__list > li > a:hover { color: var(--color-white); }
.header-nav__list > li > a:hover::after { transform: scaleX(1); }
.header-nav__list > li.current-menu-item > a { color: var(--color-white); }
.header-nav__list > li.current-menu-item > a::after { transform: scaleX(1); }

/* Підменю */
.header-nav__list .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 220px;
  background: rgba(15,25,50,0.97);
  box-shadow: 0 8px 32px rgba(0,0,0,0.3);
  list-style: none;
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all var(--transition);
  z-index: 200;
}
.header-nav__list > li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.header-nav__list .sub-menu li a {
  display: block;
  padding: 10px 20px;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.75);
  font-family: var(--font-heading);
  font-weight: 500;
  letter-spacing: 0.03em;
  transition: color var(--transition), background var(--transition);
}
.header-nav__list .sub-menu li a:hover {
  color: var(--color-white);
  background: rgba(255,255,255,0.06);
}
.header-nav__list .sub-menu li a::after { display: none; }

/* Бургер */
.header-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 8px;
}
.header-burger span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-white);
  transition: all var(--transition);
}
.header-burger.is-active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.header-burger.is-active span:nth-child(2) { opacity: 0; }
.header-burger.is-active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* Responsive — меню */

@media (max-width: 1010px) {
	.site-header {
		background:var(--color-dark);
	}
  .header-nav { display: none; }
  .header-divider { display: none; }
  .header-cta-btn { display: none; }
  .header-burger { display: flex; margin-left: auto; }
  .header-nav.is-open {
    display: block;
    position: fixed;
    top: var(--header-h); left: 0; right: 0; bottom: 0;
    background: rgba(15,25,50,1);
    overflow-y: auto;
    padding: 32px 24px;
    z-index: 99;
  }
  .header-nav.is-open .header-nav__list { flex-direction: column; align-items: flex-start; gap: 4px; }
  .header-nav.is-open .header-nav__list > li > a { font-size: 1.125rem; padding: 12px 0; }
  .header-nav.is-open .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; border-top: none; padding-left: 0px; }
  .header-nav.is-open .sub-menu li a { color: rgba(255,255,255,0.6); padding-left:0px;}
}

/* ==========================================*/

/* ══════════════════════════════════════════════════════════════
   HERO BLOCK
══════════════════════════════════════════════════════════════ */
.block-hero { position: relative; }

.hero-swiper { width: 100%; height: calc(100vh - var(--header-h) - 40px); min-height: 850px; max-height: 900px; }

.hero-slide {
  background: var(--slide-bg) center/cover no-repeat;
  background-color: var(--color-dark-2);
  position: relative;
  display: flex;
  align-items: center;
}
.hero-slide__overlay {
  position: absolute;
  inset: 0;
background: linear-gradient(0deg, rgba(25, 38, 62, 0.3), rgba(25, 38, 62, 0.3)),
linear-gradient(270deg, rgba(25, 38, 62, 0) 27.67%, #19263E 100%);

}
.hero-slide__content {
  position: relative;
  z-index: 9;
  max-width: 850px;
	display:flex;
	flex-direction:column;
	gap:20px;
  color: var(--color-white);
padding-left:clamp(0.9375rem, -0.3235rem + 4.8039vw, 4rem);
border-left:1px solid #FFFFFF;
}
.container-hero {
display:flex;
justify-content:flex-start;
align-items:center;
height:100%;
}
.hero-slide__subtitle {
  font-size: clamp(0.95rem, 1.2vw, 1.125rem);
  line-height: 1.6;
	margin-bottom:28px;
  color: rgba(255,255,255,0.85);
  max-width: 560px;
}
.post-sidebar__list {
	position:relative;
}
.single-post__hero.inner-hero {
	min-height:448px;
}
.hero-swiper__pagination {
  bottom: 32px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}


.hero-swiper .swiper-pagination-bullet {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: transparent;
  opacity: 1;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0 !important;
}

/* Маленька внутрішня крапка для всіх куль */
.hero-swiper .swiper-pagination-bullet::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,1);
  transition: background 0.3s;
  position: relative;
  z-index: 1;
}

/* SVG-кільце прогресу — тільки для активної кулі */
.hero-swiper .swiper-pagination-bullet .hero-bullet-svg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-swiper .swiper-pagination-bullet-active .hero-bullet-svg {
  display: block;
}

/* Активна куля: внутрішня крапка яскравіша */
.hero-swiper .swiper-pagination-bullet-active::before {
  background: rgba(255,255,255,0.9);
}

/* SVG-коло прогресу */
.hero-bullet-circle-track {
  fill: none;
  stroke: rgba(255,255,255,0.25);
  stroke-width: 1.5;
}
.hero-bullet-circle-progress {
  fill: none;
  stroke: rgba(255,255,255,0.85);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-dasharray: 75.4; /* 2*PI*12 */
  stroke-dashoffset: 75.4;
  transform: rotate(-90deg);
  transform-origin: center;
  animation: none;
}
.hero-swiper .swiper-pagination-bullet-active .hero-bullet-circle-progress {
  animation: heroBulletProgress var(--hero-delay, 6000ms) linear forwards;
}

@keyframes heroBulletProgress {
  from { stroke-dashoffset: 75.4; }
  to   { stroke-dashoffset: 0; }
}

/* Навігація стрілками прихована — навігація через свайп і точки */
.hero-swiper .swiper-button-prev,
.hero-swiper .swiper-button-next { display: none; }

/* ── Hero phone block ── */
.hero-slide__actions {
  display: flex;
  align-items: center;
  gap: clamp(0.9375rem, 0.5rem + 1.6667vw, 2rem);
  flex-wrap: wrap;
}
.hero-slide__phone-block {
  display: flex;
  align-items: center;
  gap: 12px;
}
.hero-slide__phone-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  flex-shrink: 0;
}
.hero-slide__phone-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.hero-slide__phone-label {
  font-size: 0.75rem;
  color: #EDF1FF;
	opacity:0.75;
font-weight: 400;
font-size: 0.875rem;
line-height: 1.45em;
letter-spacing: 0.01em;
text-transform: lowercase;
}
.hero-slide__phone-number {
  font-family: var(--font-heading);
font-weight: 700;
font-size: 1.125em;
line-height: 1.45em;
letter-spacing: 0.01em;
  color: #EDF1FF;
  transition: color var(--transition);
}
.hero-slide__phone-number:hover { color: var(--color-primary); }

/* ══════════════════════════════════════════════════════════════
   WHY BLOCK
══════════════════════════════════════════════════════════════ */
.block-why.section {
background-size:cover;
background-repeat:no-repeat;
position:relative;
background-position:bottom center;
background-image: var(--why-bg);
}
.block-why::before {
content:'';
width:100%;
height:100%;
background: linear-gradient(180deg, #19263E 8.8%, rgba(25, 38, 62, 0) 100%),
linear-gradient(0deg, rgba(25, 38, 62, 0.6), rgba(25, 38, 62, 0.6));
position:absolute;
z-index:11;
left:0px;
top:0px;
}
.block-why.section > .container {
position:relative;
z-index:99;
}

.why-header {
display:flex;
justify-content:space-between;
align-items:flex-end;
border-bottom:1px solid rgba(255, 255, 255, 0.5);
padding-bottom:clamp(1.25rem, 0.5294rem + 2.7451vw, 3rem);
margin-bottom:clamp(1.25rem, 0.5294rem + 2.7451vw, 3rem);
}
.why-header__left {
display:flex;
flex-direction:column;
}
.section-label {
color:var(--color-primary);
font-weight:600;
display:inline-block;
font-size: 1.125rem;
line-height: 1.45em;
margin-bottom:21px;
position:relative;
	padding-left:88px;
letter-spacing: 0.01em;
text-transform: uppercase;
}
.hero-slide__meta {
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:clamp(0.1875rem, -0.6436rem + 2.6596vw, 1.75rem);
}
.separator {
	height:100%;
	min-height:24px;
	width:1px;
	background:var(--color-white);
}
.hero-slide__location {
display:flex;
align-items:center;
	gap:12px;
font-weight: 400;
	white-space:nowrap;
font-size: clamp(1rem, 0.5956rem + 0.5882vw, 1.125rem);
line-height: 1.45em;
letter-spacing: 0.01em;
}
.hero-slide__location span {
	text-decoration:underline;
	font-weight:700;
}
.hero-slide__tag {
	font-weight: 400;
	font-size: clamp(1rem, 0.5956rem + 0.5882vw, 1.125rem);
	line-height: 1.45em;
		white-space:nowrap;
letter-spacing: 0.04em;
}
.hero-slide__tag .symbol {
	font-weight: 600;
}
.why-card {
	padding:clamp(0.9375rem, 0.1786rem + 2.0238vw, 2rem);
}
.why-card .why-card__title {
font-weight: 600;
font-size: clamp(1.375rem, 1.0909rem + 1.0101vw, 2rem);
margin-bottom:10px;
line-height: 1.5em;
letter-spacing: 0.01em;
text-transform: uppercase;
color:var(--color-white);
}
.why-card .why-card__text {
font-weight: 400;
font-size: 1rem;
	color:var(--color-white);
line-height: 1.5em;
letter-spacing: 0.01em;
}
.why-card {
	background: linear-gradient(180deg, #19263E 0%, #2F4469 100%);
}
.why-card__icon {
	margin-bottom:clamp(0.9375rem, 0.0852rem + 3.0303vw, 2.8125rem);
}
.why-header__desc {
	max-width:436px;
font-weight: 400;
font-size: 1.125rem;
	color:var(--color-white);
line-height: 1.5em;
letter-spacing: 0.01em;
}
.section-label::before {
	content:'';
	width:70px;
	height:1px;
	background:var(--color-primary);
	position:absolute;
	left:0px;
	top:50%;
}
.why-grid {
  display: grid;
	align-items:flex-start;
  grid-template-columns: repeat(auto-fit, minmax(332px, 1fr));
  gap: 0px;
}
.why-card.why-card--top {
	margin-top:250px;
}
.why-item {
  text-align: center;
  padding: 32px 24px;
  border: 1px solid #e8e4de;
  border-radius: var(--radius-md);
  transition: all var(--transition);
}
.why-item:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow);
  transform: translateY(-4px);
}
.why-item__icon { margin: 0 auto 20px; width: 64px; height: 64px; }
.why-item__icon-img { width: 100%; height: 100%; object-fit: contain; }
.why-item__title {
  font-family: var(--font-heading);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--color-dark);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.why-item__text { font-size: 0.875rem; color: var(--color-text-light); line-height: 1.6; }

/* ══════════════════════════════════════════════════════════════
   ABOUT BLOCK
══════════════════════════════════════════════════════════════ */
.about-inner {
  display: flex;
  gap:clamp(0.9375rem, -0.0919rem + 3.9216vw, 3.4375rem);
}
.about-content {
border-width: 2px 0px 2px 2px;
padding:clamp(0.9375rem, 0.0882rem + 3.2353vw, 3rem);
border-style: solid;
border-color: #DDDEE2;
width:56.69%;
box-shadow: 0px 0px 5.05px 0px #00000004;
box-shadow: 0px 0px 19.75px 0px #00000006;
box-shadow: 0px 0px 62px 0px #0000000A;
box-shadow: 0px 0px 62px 0px #0000000A;

}
.about-image {
width:39.4%;
flex-shrink:0;
}
.about-image img {
object-fit:cover;
	width:100%;
height:100%;
}
.about-image__img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 560 / 860;
height:100%;
}
.about-values__body {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:15px;
	width:100%;
}

.about-values__body > * {
	width:50%;
}
.about-content__title { margin-bottom: 24px; }
.about-content__text { 
font-size: 1rem;
font-weight:400;
color:#19263E;
line-height: 1.5em;
letter-spacing:0.01em;
margin-bottom: 24px; 
}
.about-content__text p {
text-align:justify;
}
.about-content__text p:not(:last-of-type) {
margin-bottom:30px;
}
.about-values {
	margin-bottom: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.about-values__item {
	padding-block:20px;
  display: flex;
  align-items: center;
	justify-content:space-between;
	color:#19263E;
  gap:clamp(0.9375rem, 0.7059rem + 0.8824vw, 1.5rem);
	border-bottom:1px solid #DDDEE2;
}
.about-values__desc {
font-weight: 400;
font-size: 0.875rem;
line-height: 1.5em;
letter-spacing: 0.01em;
	max-width:250px;

}
.about-values__item:first-of-type {
	border-top:1px solid #DDDEE2;
}
.about-values__marker {
  width: 22px;
  height: 22px;
  background: linear-gradient(180deg, #EB9A7F 0%, #E17959 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  transform:rotate(45deg);
  flex-shrink: 0;
}
.btn--dark {
	color:#19263E;
	border-color:#19263E;
width:max-content;
}
/* ══════════════════════════════════════════════════════════════
   CLIENTS BLOCK
══════════════════════════════════════════════════════════════ */
.clients-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
.clients-grid__cell {
	border-top:1px solid #DDDEE2;
	border-left:1px solid #DDDEE2;
}
.clients-grid__cell .clients-grid__link {
	display:flex;
	justify-content:center;
}
.clients-grid__cell:nth-child(4),
.clients-grid__cell:nth-child(9){
	border-right:1px solid #DDDEE2;
}
.clients-grid__cell:nth-child(5),
.clients-grid__cell:nth-child(6),
.clients-grid__cell:nth-child(7),
.clients-grid__cell:nth-child(8),
.clients-grid__cell:nth-child(9){
	border-bottom:1px solid #DDDEE2;
}
.clients-grid__cell.clients-grid__cell--cta {
	display:flex;
	justify-content:center;
	background:#E8E8E8;
	align-items:center;
}
.clients-grid__cell.clients-grid__cell--cta a{
	display:flex;
	gap:8px;
	border:1px solid #E8E8E800;
    padding-inline: clamp(0.75rem, 0.2353rem + 1.9608vw, 2rem);
    padding-block: clamp(0.4375rem, 0.2574rem + 0.6863vw, 0.875rem);
	transition:all 0.3s;
}
.clients-grid__cell.clients-grid__cell--cta a:hover {
	border-color:#19263E;
	border:1px solid #E8E8E8;
}
.clients-grid__cell.clients-grid__cell--cta .clients-cta__text {
font-weight: 500;
font-size: 1.125rem;
line-height: 1.5em;
letter-spacing: 0;
color:#19263E;
}
.clients-grid__cell.clients-grid__cell--cta a .clients-cta__arrow {
	display:flex;
	align-items:center;
}
/* Heading cell spans both rows */
.clients-grid__cell--heading {
  grid-column: span 2;
border:none;
	max-width:450px;
}
.title--dark {
	color:#19263E;
}
/* ══════════════════════════════════════════════════════════════
   WORKFLOW BLOCK
══════════════════════════════════════════════════════════════ */
.workflow-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1.5fr;
  gap:clamp(1.25rem, 0.3493rem + 3.4314vw, 3.4375rem);
}
.workflow-steps {
  grid-column: span 2;
  display: grid;
	gap:20px;
  grid-template-columns: 1fr 1fr;
}
.workflow-step {
background: linear-gradient(180deg, #FFFFFF 0%, #FBFBFB 100%);
box-shadow:
    0px 0px 5.05px 0px #00000004,
    0px 0px 19.75px 0px #00000006,
    0px 0px 62px 0px #0000000A;
	padding:clamp(0.9375rem, 0.1786rem + 2.0238vw, 2rem);
}

.workflow-image {
  grid-column: 3;
  grid-row: 1;
}
.workflow-image__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.workflow-header {
	text-align:center;
	margin-bottom:48px;
}
.workflow-step__number {
	width:64px;
	height:64px;
	background:linear-gradient(180deg, #19263E 0%, #2F4469 100%);
	color:#FFFFFF;
	display:flex;
	margin-bottom:32px;
	align-items:center;
	justify-content:center;
font-weight: 500;
font-size: 1.25rem;
line-height: 1.5em;
letter-spacing: 0.01em;
}
.workflow-step__title {
	color:#19263E;
font-weight: 600;
font-size: clamp(1.25rem, 0.9821rem + 0.7143vw, 1.625rem);
line-height: 1.5em;
letter-spacing: 0.01em;
	margin-bottom:10px;
text-transform: uppercase;
}
.workflow-step__text {
	color:#19263E;
font-weight: 400;
font-size: clamp(1rem, 0.9107rem + 0.2381vw, 1.125rem);
line-height: 1.5em;
letter-spacing: 0.01em;
}
/* ══════════════════════════════════════════════════════════════
   CTA BLOCK
══════════════════════════════════════════════════════════════ */
.block-cta {
	position:relative;
	margin-bottom:80px;
}

.block-cta__container {
    position: relative;
    overflow: hidden;
	padding-block:clamp(3.125rem, 1.7857rem + 3.5714vw, 5rem);
	/*padding-inline:clamp(0.9375rem, -0.5357rem + 3.9286vw, 3rem);*/
}
.block-cta__overlay {
    position: absolute;
    inset: 0;
    background:rgba(25, 38, 62, 0.5);
    z-index: 0;
}
.cta-inner {
    position: relative;
	display:flex;
	flex-direction:row;
	gap: clamp(1.25rem, -0.0368rem + 4.902vw, 4.375rem);
    z-index: 1; /* контент поверх оверлею */
}
.cta-inner > * {
	width:50%;
}
.cta-content__title {
  margin-bottom: 47px;
}
.cta-content {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	gap:20px;
}
.cta-contact__phone-block,
.cta-contact__phone-info,
.cta-socials{
	display:flex;
}
.cta-contact__phone-info .cta-contact__phone-label {
	color:#EDF1FF;
font-weight: 400;
font-size: 1rem;
line-height: 1.45em;
letter-spacing: 0.01em;
text-transform: lowercase;
}
.cta-contact__phone-info .cta-contact__phone-number {
	color:#FFFFFF;
font-weight: 600;
font-size: 1.25rem;
line-height: 1.5em;
letter-spacing: 0.01em;
text-transform: uppercase;
}
.cta-contact {
	display:flex;
	gap:clamp(1.25rem, 0.9412rem + 1.1765vw, 2rem);
	justify-content:flex-start;
}
.cta-contact__phone-block,
.cta-socials{
	align-items:center;
	gap:14px;
}
.cta-contact__phone-block {
	white-space:nowrap;
}
.cta-contact__phone-icon {
	font-size:0px;
}
.cta-contact__phone-info {
	flex-direction:column;
}
.cta-content__text { 
	padding:14px 16px;
font-weight: 500;
font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
line-height: 1.4em;
	background:#FFFFFF;
	color:#19263E;
letter-spacing: 0.01em;
	border-radius:0px 10px 10px 10px;
	position:relative;
}
.cta-content__text::before {
	content:'';
	left:-20px;
	top:0px;
	position:absolute;
width: 0; height: 0;
  border-style: solid;
  border-width: 20px 0px 0px 20px;
  border-color: #ffffff transparent transparent transparent;
  transform: rotate(0deg);
}
.cta-form-wrap {
  background: var(--color-white);
	max-width:570px;
  padding: 48px 32px;
}
.cta-form-wrap__title {
  margin-bottom: 2rem;
}
.cta-content__desc-block {
  display: flex;
  align-items: flex-start;
  gap: 25px;
}
.cta-content__avatar {
	flex-grow:1;
	flex-shrink:0;	
}
.cta-content__avatar-img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.cForm {
	display:flex;
	flex-direction:column;
	gap:15px;
}
.cForm .row {
	display:flex;
	justify-content:space-between;
	gap:15px;
}
.cForm input,
.cForm textarea{
	padding:24px 0px;
	border:none;
	border-bottom:1px solid rgba(25, 38, 62, 0.4);
	border-radius:0;
}
.cForm .row.two-col > span {
	width:100%;
	max-width:242px;
}
.cForm .row.two-col > span input {
	width:inherit;
}
.cForm .row.one-col > span,
.cForm .row.one-col > span input,
.cForm .row.one-col > span textarea{
	width:100%;
}
.cForm .row.one-col > span textarea {
	max-height:150px;
}
.cForm .row.two-col > span input:focus,
.cForm .row.one-col > span input:focus,
.cForm .row.one-col > span textarea:focus,
.cForm .row.two-col > span input:focus-visible,
.cForm .row.one-col > span input:focus-visible,
.cForm .row.one-col > span textarea:focus-visible{
	opacity:0.7;
	outline:none;
}
.cForm .row.two-col > span input ,
.cForm .row.one-col > span input ,
.cForm .row.one-col > span textarea,
.cForm .row.two-col > span input::placeholder ,
.cForm .row.one-col > span input::placeholder ,
.cForm .row.one-col > span textarea::placeholder{
	font-family: Gilroy;
color:rgba(25, 38, 62, 1);
font-weight: 400;
font-size: 1rem;
line-height: 1.4em;
letter-spacing: 0.01em;
}
.cForm .row.send button{
	background: linear-gradient(180deg, #EB9A7F 14.84%, #E17959 100%);
padding:20px 32px;
	color:#FFFFFF;
	border-bottom:none;
	font-family: Gilroy;
font-weight: 500;
	display:flex;
	gap:10px;
	align-items:center;
font-size: 1.125rem;
line-height: 1em;
letter-spacing: 0;
}
.cForm .row.send button svg {
		transition:all 0.3s;
}
.cForm .row.send button:hover svg{
	transform:translatex(10px);
}

.cf7-popup-message {
    position: fixed;
    right: 30px;
    bottom: 30px;

    padding: 16px 22px;
    border-radius: 14px;

    background: #111;
    color: #fff;

    font-size: 14px;
    line-height: 1.4;

    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);

    transition: 0.3s ease;

    z-index: 9999;
}

.cf7-popup-message.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.cf7-popup-message.success {
    background: #16a34a;
}

.cf7-popup-message.error {
    background: #dc2626;
}
.wpcf7-response-output {
    display: none !important;
}
.wpcf7-not-valid-tip  {
	position:absolute;
	bottom:0px;
	font-size:12px;
}
/* ══════════════════════════════════════════════════════════════
   SERVICES BLOCK
══════════════════════════════════════════════════════════════ */
.block-services {
	overflow: hidden;
	position:relative;
	margin-bottom:80px;
	padding-bottom:120px;
	box-shadow: 0px 0px 5.05px 0px #00000004,
				0px 0px 19.75px 0px #00000006,
				0px 0px 62px 0px #0000000A,
				0px 0px 62px 0px #0000000A;
}

.block-services::before {
    content: "";
    position: absolute;
    background: url(../img/block-logo-decor.svg);
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    left: 50%;
    bottom: 0%;
    transform: translateX(calc(-50% + 250px));
    z-index: 0;
    pointer-events: none;
}
/* Outer wrapper — full width, relative for arrow overlay */
.services-swiper-outer {
  position: relative;
}
.services-swiper-outer .swiper {
	overflow:visible;
}
.services-swiper-outer .swiper .swiper-slide {
    filter: grayscale(100%);
    opacity: 0.85;
}
.services-swiper-outer .swiper  .services-swiper__pagination {
	margin-bottom:-70px;
}
/* Swiper — full width, overflow visible for partial side slides */
.services-swiper {
  overflow: visible;
  padding-bottom: 60px;
}

/* Pagination — inside swiper DOM but visually below slides */
.services-swiper__pagination {
  bottom: 8px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.services-swiper .swiper-pagination-bullet {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: transparent;
  opacity: 1;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0 !important;
}
.services-swiper .swiper-pagination-bullet::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.45);
  transition: background 0.3s;
  position: relative;
  z-index: 1;
}
.services-swiper .swiper-pagination-bullet-active::before {
  background: rgba(255,255,255,0.9);
}
.svc-bullet-svg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.services-swiper .swiper-pagination-bullet-active .svc-bullet-svg {
  display: block;
}
.svc-bullet-track {
  fill: none;
  stroke: rgba(255,255,255,0.25);
  stroke-width: 1.5;
}
.svc-bullet-progress {
  fill: none;
  stroke: rgba(255,255,255,0.85);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-dasharray: 75.4;
  stroke-dashoffset: 75.4;
  transform: rotate(-90deg);
  transform-origin: center;
  animation: none;
}
.services-swiper .swiper-pagination-bullet-active .svc-bullet-progress {
  animation: svcBulletProgress var(--services-delay, 5000ms) linear forwards;
}
@keyframes svcBulletProgress {
  from { stroke-dashoffset: 75.4; }
  to   { stroke-dashoffset: 0; }
}

/* Custom arrows — diamond shape with hover gradient */
.services-swiper__prev,
.services-swiper__next {
  width:clamp(2.8125rem, 2.0913rem + 2.8846vw, 4.6875rem)!important;
  height:clamp(2.8125rem, 2.0913rem + 2.8846vw, 4.6875rem)!important;
  background: none !important;
  border-radius: 0 !important;
  top: calc(50% - 67px) !important; /* center minus half height minus pagination space */
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: none;
}
.services-swiper__prev { left: calc((100vw - 1200px) / 2) !important; }
.services-swiper__next { right: calc((100vw - 1200px) / 2) !important; }
@media (max-width: 1240px) {
  .services-swiper__prev { left: 8px !important; }
  .services-swiper__next { right: 8px !important; }
}

/* Hide default Swiper arrow icon */
.services-swiper__prev::after,
.services-swiper__next::after { display: none !important; }

/* SVG icon visibility — default shown, hover hidden */
/* Global diamond arrow icon swap — applies to ALL .swiper-nav-diamond__btn */
.swiper-nav-diamond__btn .arrow-icon--hover { display: none; }
.swiper-nav-diamond__btn .arrow-icon--default { display: block; }
.swiper-nav-diamond__btn:hover .arrow-icon--default { display: none; }
.swiper-nav-diamond__btn:hover .arrow-icon--hover   { display: block; }
.swiper-nav-diamond__btn svg {width:70px; height:70px;}
.services-swiper__prev .arrow-icon--default,
.services-swiper__next .arrow-icon--default { display: block; }
.services-swiper__prev .arrow-icon--hover,
.services-swiper__next .arrow-icon--hover { display: none; }

/* On hover — swap icons */
.services-swiper__prev:hover .arrow-icon--default,
.services-swiper__next:hover .arrow-icon--default { display: none; }
.services-swiper__prev:hover .arrow-icon--hover,
.services-swiper__next:hover .arrow-icon--hover { display: block; }

/* Slide */
.service-slide {
  filter: grayscale(100%);
  background: var(--service-bg) center/cover no-repeat;
  overflow: hidden;
  aspect-ratio: 380 / 532;
  position: relative;
  cursor: pointer;
}


/* Two-layer overlay: base color + gradient */
.service-slide__overlay {
  position: absolute;
  inset: 0;
  background:rgba(25, 38, 62, 0.4);
}
.service-slide:hover .service-slide__overlay {
  background: rgba(25, 38, 62, 0.5);
}

.service-slide__content {
  position: absolute;
	display:flex;
	gap:24px;
	flex-direction:column;
	justify-content:space-between;
  bottom: 0; left: 0; right: 0;
  z-index: 2;
}
.service-slide__title {
font-weight: 500;
font-size: 1.625rem;
	padding:0px 24px;
line-height: 1.3em;
letter-spacing: 0.01em;
text-transform: uppercase;
  color: var(--color-white);
}
.service-slide__link-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
	width:100%;
	backdrop-filter: blur(25px);
border-top: 0.5px solid #FFFFFF;
background: #FFFFFF0D;
	padding:18px;
	justify-content:center;
  font-size: 1rem;
  color: var(--color-white);
  letter-spacing: 0.05em;
	font-weight: 400;
	line-height: 1.5em;
	letter-spacing: 0.01em;
  transition: all 0.3s;
  position: relative;
  z-index: 4;
}
.service-slide:hover .service-slide__link-text {backdrop-filter: blur(5px);}
.service-slide__link { position: absolute; inset: 0; z-index: 3; }

/* ══════════════════════════════════════════════════════════════
   PROJECTS BLOCK
══════════════════════════════════════════════════════════════ */
.projects-swiper {
  padding-bottom: 80px;
  overflow: visible;
}
/* Allow arrows to extend outside container without clipping */
.block-projects .container,
.block-projects .container > * {
  overflow: visible;
}
/* Prevent section from clipping arrows */
.block-projects { 
	overflow: visible;
	position: relative;
	box-shadow: 0px 0px 5.05px 0px #00000004,
				0px 0px 19.75px 0px #00000006,
				0px 0px 62px 0px #0000000A,
				0px 0px 62px 0px #0000000A;
}



/* Project card */
.project-card {
  background: var(--color-white);
  overflow: hidden;
  display: flex;
border:1px solid #A3A8B2;
  flex-direction: column;
  position: relative;
}
.project-card:hover { box-shadow: 0 8px 15px rgba(0,0,0,0.12); }

/* Full card link overlay */
.project-card__link {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.block-projects .container-inner {
	overflow:hidden;
	padding:0px 20px 50px 20px;
}
.block-projects .container-inner .projects-swiper {
	overflow:visible;
}
/* Thumbnail with category badge */
.project-card__thumb {
  overflow: hidden;
  aspect-ratio: 382 / 342;
	padding:24px;
  position: relative;
}
.project-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.container-hero-block {
	width:100%;
}
.container-hero-block .container-inner {
	max-width:1440px;
    min-height: 250px;
    align-items: flex-start;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.project-card:hover .project-card__img { transform: scale(1.05); }
.project-card__cat {
  position: absolute;
  top: 32px;
  left: 32px;
  background: linear-gradient(180deg, #EB9A7F 0%, #E17959 100%);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 600;
  font-family: var(--font-heading);
  letter-spacing: 0.01em;
  text-transform: uppercase;
  padding: 8px 6px;
  border-radius: 0px;
  z-index: 2;
}

/* Card content */
.project-card__content {
  padding: 0px 24px 12px;
  flex: 1;
}
.project-card__title {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 6px;
  line-height: 1.5em;
}
.project-card__location {
  display: flex;
  align-items: center;
  gap: 4px;
	font-weight:500;
  font-size: 0.875rem;
	line-height:1.5em;
	letter-spacing:0.01em;
  color: var(--color-dark);
}

/* Card footer */
.project-card__footer {
  padding: 14px 24px;
  border-top: 1px solid #A3A8B2;
	text-align:center;
  position: relative;
  z-index: 2;
}
.project-card__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 1rem;
  color: var(--color-dark);
	line-height:1.5em;
  letter-spacing: 0.01em;
  transition: color var(--transition);
}
.project-card:hover .project-card__more { color: var(--color-primary); }

/* Projects pagination — hero-style progress dots, below slides */
.projects-swiper__pagination {
  bottom: -50px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
.projects-swiper .swiper-pagination-bullet {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: transparent;
  opacity: 1;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0 !important;
}
.projects-swiper .swiper-pagination-bullet::before {
  content: '';
  display: block;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: rgba(0,0,0,0.25);
  transition: background 0.3s;
  position: relative;
  z-index: 1;
}
.projects-swiper .swiper-pagination-bullet-active::before { background: var(--color-dark); }
.proj-bullet-svg {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
}
.projects-swiper .swiper-pagination-bullet-active .proj-bullet-svg { display: block; }
.proj-bullet-track  { fill: none; stroke: rgba(0,0,0,0.15); stroke-width: 1.5; }
.proj-bullet-progress {
  fill: none;
  stroke: var(--color-dark);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-dasharray: 75.4;
  stroke-dashoffset: 75.4;
  transform: rotate(-90deg);
  transform-origin: center;
  animation: none;
}
.projects-swiper .swiper-pagination-bullet-active .proj-bullet-progress {
  animation: projBulletProgress var(--projects-delay, 6000ms) linear forwards;
}
@keyframes projBulletProgress {
  from { stroke-dashoffset: 75.4; }
  to   { stroke-dashoffset: 0; }
}

/* Projects arrows — same diamond style */
.projects-swiper__prev,
.projects-swiper__next {
  width:clamp(2.8125rem, 2.0913rem + 2.8846vw, 4.6875rem)!important;
  height:clamp(2.8125rem, 2.0913rem + 2.8846vw, 4.6875rem)!important;
  background: none !important;
  border-radius: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  /* Center on the image area (approx 55% of card height) */
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10;
}
/* Arrows sit just inside the swiper bounds — no clipping */
.projects-swiper__prev { left: -20px !important; }
.projects-swiper__next { right: -20px !important; }
.projects-swiper__prev::after,
.projects-swiper__next::after { display: none !important; }
.projects-swiper__prev .arrow-icon--default,
.projects-swiper__next .arrow-icon--default { display: block; }
.projects-swiper__prev .arrow-icon--hover,
.projects-swiper__next .arrow-icon--hover { display: none; }
.projects-swiper__prev:hover .arrow-icon--default,
.projects-swiper__next:hover .arrow-icon--default { display: none; }
.projects-swiper__prev:hover .arrow-icon--hover,
.projects-swiper__next:hover .arrow-icon--hover { display: block; }
.projects-swiper__prev svg rect,
.projects-swiper__next svg rect {
    fill: var(--color-white);
    fill-opacity: 1;
}
.projects-swiper__prev:hover svg rect,
.projects-swiper__next:hover svg rect {
    fill: var(--color-primary);
    fill-opacity: 1;
}
/* ══════════════════════════════════════════════════════════════
   NEWS BLOCK
══════════════════════════════════════════════════════════════ */
.news-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 32px; }
.news-card { background: var(--color-white); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.news-card__thumb { overflow: hidden; aspect-ratio: 3/2; }
.news-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.news-card:hover .news-card__img { transform: scale(1.05); }
.news-card__content { padding: 24px; display: flex; flex-direction: column; flex: 1; }

.news-card__title { font-family: var(--font-heading); font-size: clamp(1.125rem, 1.0585rem + 0.2128vw, 1.25rem); font-weight: 600; color: var(--color-dark); margin-bottom: 12px; line-height: 1.5em; letter-spacing:0.01em; }
.news-card__title a:hover { color: var(--color-primary); }
.news-card__readmore { font-family: var(--font-heading); font-size: 0.8125rem; font-weight: 600; color: var(--color-primary); letter-spacing: 0.04em; text-transform: uppercase; display: flex; align-items: center; gap: 6px; }
.news-card__readmore:hover { color: var(--color-primary-d); }

/* ── News homepage layout ──────────────────────────────────────── */
.news-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
}

/* Category badge */
.news-card__cat {
  position: absolute;
  top: 12px;
  left: 12px;
  background: linear-gradient(180deg, #EB9A7F 0%, #E17959 100%);
  color: var(--color-white);
  font-size: 0.75rem;
  font-weight: 500;
  font-family: var(--font-heading);
line-height:1.5em;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  padding: 8px 6px;
  z-index: 2;
}
.single-post__hero-meta .news-card__meta .news-card__date,
.single-post__hero-meta .news-card__meta .news-card__author {
	padding:16px 24px;
}

/* Meta row: date + author */
.news-card__meta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 12px;
}
.post-sidebar__thumb {
	position:relative;
}
.single-post__layout {
	display:flex;
	gap:clamp(1.25rem, 0.8511rem + 1.2766vw, 2rem);
}
.single-post__layout .single-post__content {
	background:rgba(247, 247, 247, 1);
	padding: clamp(1.25rem, 0.3191rem + 2.9787vw, 3rem);
}
.single-post__layout .single-post__content p {
	font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
	font-weight:400;
}
.single-post__layout .single-post__content h5 {
	font-size: 1.125rem;
	font-weight:600;
}
.single-post__layout .single-post__content h2 {color:var(--color-dark);}
.single-post__layout .single-post__content h3,
.single-post__layout .single-post__content h4,
.single-post__layout .single-post__content h5,
.single-post__layout .single-post__content h6,
.single-post__layout .single-post__content p,
.single-post__layout .single-post__content figure{
		margin-bottom:32px;
	color:var(--color-dark);
}
.single-post__layout .single-post__content ol {margin-left:20px;}
.single-post__layout .single-post__content ul,
.single-post__layout .single-post__content ol {
font-weight: 400;
font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
line-height: 1.5em;
letter-spacing:0.01em;
	margin-bottom:32px;
color:var(--color-dark);
}
.single-post__layout .single-post__content  ul li{position:relative; padding-left:50px;}
.single-post__layout .single-post__content  ul li::before{
	content:'';
	position:absolute;
	 background: url(../img/list-icon.svg);
	width:40px;
	height:40px;
	left:0px;
	top:-6px;
	
}
.single-post__layout .single-post__content h4 {
	color:var(--color-dark);
font-weight: 600;
font-size: clamp(1.1875rem, 0.988rem + 0.6383vw, 1.5625rem);
line-height: 1.5em;
letter-spacing:0.01em;
text-transform: uppercase;
}
.single-post blockquote {
	background:rgba(238, 238, 238, 1);
	border-left:3px solid rgba(25, 38, 62, 1);
	padding:32px 24px;
	margin-bottom:32px;
}
.single-post blockquote pre {
font-weight: 600;
font-size: 1.125rem;
line-height: 1.5em;
letter-spacing: 0.01em;
}
.post-sidebar__inner h4 {
	color:var(--color-dark);
font-weight: 600;
font-size: clamp(1.1875rem, 0.988rem + 0.6383vw, 1.5625rem);
line-height: 1.5em;
letter-spacing: 0.01em;
	margin-bottom:32px;
text-transform: uppercase;
}
.single-post blockquote p.position {
	margin-bottom:0px!important;
}
.single-post__sidebar .post-sidebar__list .post-sidebar__card {
	padding:clamp(0.9375rem, 0.6383rem + 0.9574vw, 1.5rem);
	border:1px solid rgba(25, 38, 62, 0.4);
	border-bottom:none;
}
.single-post__sidebar .post-sidebar__list .post-sidebar__card:last-of-type{
	border-bottom:1px solid rgba(25, 38, 62, 0.4);
}
.single-post__sidebar .post-sidebar__thumb {
	margin-bottom:24px;
}
.single-post__sidebar  .post-sidebar__excerpt {margin-bottom:32px;}
.single-post__sidebar .news-card__meta {margin:0px;}
.single-post__sidebar .news-card__meta .news-card__date,
.single-post__sidebar .news-card__meta .news-card__author {
	padding:0px!important;
}
.news-featured__content .news-card__date,
.news-featured__content .news-card__author {
	padding:0px;
}
.single-post__sidebar .post-sidebar__list .post-sidebar__card .post-sidebar__content .post-sidebar__card-title {margin-bottom:8px; font-weight: 600; line-height: 1.5em; letter-spacing: 0.01em; font-size: clamp(1.125rem, 1.0585rem + 0.2128vw, 1.25rem);}
.single-post__layout .single-post__content  ol {
	 list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  counter-reset: post-ol;
}
.single-post__layout .single-post__content  ol li{
	  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
  line-height: 1.6;
  color: var(--color-dark);
  letter-spacing: 0.01em;
  counter-increment: post-ol;
}
.single-post__layout .single-post__content ol li::before {
  content: counter(post-ol);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  background: var(--color-dark);
  color: var(--color-white);
  font-family: var(--font-heading);
  font-size: 0.8125rem;
  font-weight: 700;
  border-radius: 0;
  margin-top: 1px;
}
.single-post__layout .single-post__content ul li:not(:last-of-type),
.single-post__layout .single-post__content ol li:not(:last-of-type){
	margin-bottom:15px;
}

.single-post__hero .news-card__date,
.single-post__hero .news-card__author {
	padding:0;

}
.news-card__date,
.news-card__author {
  display: flex;
  align-items: center;
  gap:12px;
font-weight: 400;
font-size: 1rem;
line-height: 1.5em;
	background:var(--color-white);
letter-spacing: 0.01em;
color: var(--color-dark);
}
.single-post__hero h1 {
	margin-bottom:clamp(1.25rem, 0.3191rem + 2.9787vw, 3rem);
}
/* ── Featured card (left, large) ───────────────── */
.news-featured {
  background: var(--color-white);
  overflow: hidden;

  position: relative;
	padding:clamp(0.9375rem, 0.7059rem + 0.8824vw, 1.5rem);
	border: 0.5px solid #19263E66;
  display: flex;
  flex-direction: column;

}
.news-featured:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.12); }
.news-featured__thumb {
  position: relative;
  overflow: hidden;
  aspect-ratio: 607 / 354;
}
.news-featured__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.news-featured__thumb-link {
margin-bottom:32px;	
}
.news-featured:hover .news-featured__img { transform: scale(1.04); }
.news-featured__content {flex: 1; }
.news-featured__title {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-dark);
  text-transform: uppercase;
  letter-spacing: 0.03em;
	letter-spacing:0.01em;
  line-height: 1.5em;
  margin-bottom: 8px;
}
.news-featured__title a { color: inherit; }
.news-featured__title a:hover { color: var(--color-primary); }
.news-featured__excerpt,
.news-compact__excerpt,
.news-card__excerpt{ 
	font-size: 1rem;
	color: var(--color-dark);
	line-height: 1.5em;
	letter-spacing:0.01em;
}
.news-compact__excerpt {
	display: -webkit-box;
  -webkit-box-orient: vertical;  
  -webkit-line-clamp: 2;
	overflow:hidden;
}
.news-featured__overlay { position: absolute; inset: 0; z-index: 1; }
.news-featured__content,
.news-featured__thumb { position: relative; z-index: 2; }

/* ── Secondary stack (right column) ───────────── */
.news-secondary {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.news-compact {
  background: var(--color-white);
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr; 
  position: relative;
padding:clamp(0.9375rem, 0.7059rem + 0.8824vw, 1.5rem);
border: 0.5px solid #19263E66;
}

.news-compact:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.12); }
.news-compact__thumb {
  position: relative;
  overflow: hidden;
  aspect-ratio: 270/230;
}
.news-compact__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.news-compact:hover .news-compact__img { transform: scale(1.04); }
.news-compact__content {
  padding:clamp(0.9375rem, 0.8088rem + 0.4902vw, 1.25rem);
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
.news-compact__title {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-dark);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1.5em;
  margin-bottom: 8px;
	display: -webkit-box;
  -webkit-box-orient: vertical;  
  -webkit-line-clamp: 2;
	overflow:hidden;
}
.news-compact__title a { color: inherit; }
.news-compact__title a:hover { color: var(--color-primary); }
.news-compact__overlay { position: absolute; inset: 0; z-index: 1; }
.news-compact__content,
.news-compact__thumb { position: relative; z-index: 2; }

@media (max-width: 1024px) {
  .news-compact { grid-template-columns: 180px 1fr; }
}
@media (max-width: 768px) {
  .news-layout { grid-template-columns: 1fr; }
  .news-compact { grid-template-columns: 1fr 1fr; }
	.hero-swiper::before {display:none;}
}
@media(max-width:502px) {
	.btn,
	div:has(.btn){
		width:100%;
	}
	.btn {
		display:flex;
		justify-content:center;
	}
	div.service-hero__actions:has(.btn),
	.service-hero__action-block .btn {
		width:auto;
	}
}
@media (max-width: 480px) {
  .news-compact { grid-template-columns: 1fr; }
  .news-compact__thumb { aspect-ratio: 16/9; }
}
@media(max-width:400px) {
	.block-services.section--dark .services-swiper-outer {
		padding-inline:15px;
	}
}
/* ══════════════════════════════════════════════════════════════
   FAQ BLOCK
══════════════════════════════════════════════════════════════ */
/* ── FAQ layout ──────────────────────────────────────────────── */
.faq-layout {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap:clamp(1.875rem, -0.1838rem + 7.8431vw, 6.875rem);
  align-items: stretch;
}

/* FAQ heading */
.faq-heading { margin-bottom: 48px; }
.faq-heading__title {
  color: var(--color-dark);
}

/* Accordion */
.faq-accordion { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid var(--color-border, #e0ddd9); margin: 0px -18px; padding:0px 16px;}

/* Trigger button */
.faq-item__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: color var(--transition);
  color: var(--color-dark);
}
.faq-item--open .faq-item__trigger,
.faq-item__trigger:hover { color: var(--color-primary); }

/* Active item background */
.faq-item--open {
  background: rgba(225, 121, 89, 0.06);
  padding: 0 16px;
  margin: 0 -16px;
}

.faq-item__num {
  font-family: var(--font-heading);
  font-size: 0.9rem;
  font-weight: 700;
  color: inherit;
  flex-shrink: 0;
  min-width: 24px;
}
.faq-item__question {
  font-size: clamp(1.125rem, 0.992rem + 0.4255vw, 1.375rem);
  font-weight: 500;
  flex: 1;
  line-height: 1.45em;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
.faq-item__icon {
  flex-shrink: 0;
  width:clamp(1.75rem, 1.484rem + 0.8511vw, 2.25rem);
  height:clamp(1.75rem, 1.484rem + 0.8511vw, 2.25rem);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-dark);
  transition: background var(--transition), color var(--transition);
  color: inherit;
}
.faq-item--open .faq-item__icon {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
  transform: rotate(90deg);
}

/* Answer body */
.faq-item__body { overflow: hidden; }
.faq-item__body[hidden] { display: none; }
.faq-item__answer {
  padding: 24px 0px;
  font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
	font-weight:400;
  color: var(--color-dark);
  line-height: 1.5em;
	letter-spacing:0.01em;
}

/* ── CTA card (right column) ──────────────────────────────────── */
.faq-cta {
  overflow: hidden;
  position: sticky;
  top: calc(var(--header-h) + 24px);
  background: var(--color-dark) var(--faq-cta-bg) center / cover no-repeat;
}
.faq-cta__inner {
  padding: 32px 24px;
background: linear-gradient(180deg, rgba(25, 38, 62, 0) 25%, rgba(25, 38, 62, 0.5) 95.78%),
linear-gradient(0deg, rgba(25, 38, 62, 0.24), rgba(25, 38, 62, 0.24));
  display: flex;
  flex-direction: column;
  gap: 24px;
	height:100%;
}
.faq-cta__title {
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 1.1676rem + 1.0638vw, 2.125rem);
  font-weight: 600;
  color: var(--color-white);
  text-transform: uppercase;
  line-height: 1.3em;
	letter-spacing:0.014em;
}

/* Speech bubble with avatar */
.faq-cta__bubble-wrap {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.faq-cta__avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
.faq-cta__avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.faq-cta__bubble {
  background: var(--color-white);
  border-radius: 0px 10px 10px 10px;
  padding: 14px 16px;
  flex: 1;
	position:relative;
}
.faq-cta__bubble::before {
    content: '';
    left: -15px;
    top: 0px;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0px 0px 15px;
    border-color: #ffffff transparent transparent transparent;
    transform: rotate(0deg);
}	
}
.faq-cta__bubble p {
  font-size: 0.875rem;
  color: var(--color-dark);
  line-height: 1.6;
  margin: 0;
}

/* CTA button — full width, primary */
.faq-cta__btn-wrap { margin-top: auto; }
.faq-cta__btn {
  width: 100%;
  justify-content: center;
  text-align: center;
  padding: 20px;
font-weight: 500;
font-size: 1.125rem;
line-height: 1em;
letter-spacing: 0em;
	border:1px solid #EB9A7F;
background: linear-gradient(180deg, #EB9A7F 14.84%, #E17959 100%);
}
.faq-cta__btn:hover {
	background:none;
	border-color:#FFFFFF;
}
@media (max-width: 1024px) {
  .faq-layout { grid-template-columns: 1fr; }
  .faq-cta { position: static; }
}

/* ══════════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════════ */
/* ── Site Footer ─────────────────────────────────────────────── */
.site-footer { background: var(--color-dark); color: var(--color-white); }

/* Orange top bar */
.footer-topbar { height: 15px; background: var(--color-primary); }

/* Main grid: 2 columns — brand | right-grid */
.footer-main { padding: 75px 0 0px; 0px}
.footer-main__grid {
    display: grid;
    grid-template-columns: 40.6% 46.6%;
    justify-content: space-between;
  gap: 25px;
}

/* Brand column */
.footer-col--brand {
  padding-right: 48px;

}
ul.footer-nav__list li.current_page_item a {color:var(--color-primary);}
/* Right grid: 3 items — Menu | Services (row 1) + Contacts (row 2, full width) */
.footer-right-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
	border-left: 1px solid rgba(255,255,255,0.1);
  grid-template-rows: auto auto;
}

.footer-col--nav {
  padding: 0 32px 40px;
  border-right: 1px solid rgba(255,255,255,0.1);
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.footer-col--services {
  padding: 0 32px 40px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

/* Contacts spans both columns */
.footer-col--contacts {
  grid-column: 1 / -1;
  padding: 32px 32px 48px;
}

.footer-contacts__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

/* Column title */
.footer-col__title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.01em;
	line-height:1.45em;
  text-transform: uppercase;
  color:#EDF1FF;
  margin-bottom: 32px;
}

/* Logo */
.footer-logo__img { max-height: 160px; width: auto; }
.footer-logo__text { font-family: var(--font-heading); font-weight: 800; font-size: 1.5rem; color: var(--color-white); }

/* Divider under logo */
.footer-divider { border: none; border-top: 1px solid rgba(255,255,255,0.15); margin: 28px 0; }

/* Description */
.footer-desc { color: rgba(255,255,255,0.65); font-size: 0.875rem; line-height: 1.7; margin-bottom: 28px; }

/* Social icons */
.footer-social { display: flex; gap: 10px; flex-wrap: wrap; }
.footer-social__link {
  width:clamp(2.625rem, 2rem + 2.2222vw, 4rem); height: clamp(2.625rem, 2rem + 2.2222vw, 4rem);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: border-color var(--transition), background var(--transition);
  flex-shrink: 0;
}
.footer-social__link:hover { border-color: var(--color-primary); background: var(--color-primary); }
.footer-social__icon { width: 100%; height: 100%; object-fit: contain; filter: brightness(0) invert(1); }

/* Nav lists */
.footer-nav__list {
	display: flex;
	flex-direction: column;
	gap:clamp(0.3125rem, 0.0294rem + 1.0784vw, 1rem);
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-nav__list li a {
	color: rgba(255,255,255,0.65);
	font-size: 1rem;
	line-height:1.3em;
	letter-spacing:0.02em;
	font-weight:400;
	transition: color var(--transition);
	display: block;
}
.footer-nav__list li a:hover { color: var(--color-primary); }

/* Services + Contacts stacked */
.footer-services { margin-bottom: 40px; }

/* Contact items */
.footer-contacts__list { display: flex; flex-direction: column; gap: 12px; }
.footer-contact-item {
  display: flex;
  align-items: center;
  gap: 14px;
}
.footer-contact-item__icon {
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-primary);
  flex-shrink: 0;
}
.footer-contact-item__body { display: flex; flex-direction: column; gap: 2px; }
.footer-contact-item__label {
	color:#EDF1FF;
	opacity:0.4;
font-weight: 400;
font-size: 0.875rem;
line-height: 1.45em;
letter-spacing: 0.01em;
text-transform: lowercase;
}
.footer-contact-item__value,
.footer-contact-item__body .agroup-phone,
.footer-contact-item__body .agroup-email {
	transition: color var(--transition);
	color:#EDF1FF;
font-weight: 600;
font-size: 1.125rem;
line-height: 1.45em;
letter-spacing: 0.01em;

}
.footer-contact-item__body .agroup-phone:hover,
.footer-contact-item__body .agroup-email:hover { color: var(--color-primary); }
.agroup-phone, .agroup-email { color: rgba(255,255,255,0.65); transition: color var(--transition); }
.agroup-phone:hover, .agroup-email:hover { color: var(--color-primary); }

/* Footer bottom */
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding: 20px 0; }
.footer-bottom__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.footer-copyright {
font-weight: 500;
	color:var(--color-white);
font-size: 1rem;
line-height: 1em;
letter-spacing: 0;

}

/* Bottom nav (Політика / Кукі) */
.footer-bottom__nav { display: flex; gap: 0; list-style: none; padding: 0; margin: 0; }
.footer-bottom__nav li a {
	color:#FFFFFF;
	font-size: 1rem;
	font-weight:400;
	line-height: 1em;
letter-spacing: 0.02em;
text-decoration: underline;
	transition: color var(--transition);
}
.footer-bottom__nav li:not(:last-of-type) a {
	margin-right: clamp(0.9375rem, 0.5rem + 1.6667vw, 2rem);:
}
.footer-bottom__nav li a:hover { color: var(--color-primary); }

/* Lang switcher */
.footer-bottom__lang { display: flex; gap: 8px; }
.footer-bottom__lang a { color: rgba(255,255,255,0.4); font-size: 0.75rem; font-weight: 600; font-family: var(--font-heading); letter-spacing: 0.05em; transition: color var(--transition); }
.footer-bottom__lang a:hover,
.footer-bottom__lang a.is-active { color: var(--color-primary); }

/* Responsive */
@media (max-width: 1024px) {
  .footer-main__grid { grid-template-columns: 1fr; }
  .footer-col--brand { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); padding-right: 0; padding-bottom: 40px; margin-bottom: 40px; }
  .footer-right-grid { grid-template-columns: 1fr 1fr; }
  .footer-col--nav { padding-left: 0; }
  .footer-col--contacts { padding-left: 0; padding-right: 0;}
  .footer-contacts__list { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .footer-right-grid { grid-template-columns: 1fr; }
  .footer-col--nav { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); padding-right: 0; }
  .footer-col--services { padding-left: 0; }
  .footer-contacts__list { grid-template-columns: 1fr; }
}
.agroup-pagination { margin-top: 48px; display: flex; justify-content: center; }
.agroup-pagination .nav-links { display: flex; gap: 8px; align-items: center; }
.agroup-pagination .page-numbers {
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid #e8e4de;
  border-radius: var(--radius);
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 0.875rem;
  transition: all var(--transition);
}
.agroup-pagination .page-numbers:hover { border-color: var(--color-primary); color: var(--color-primary); }
.agroup-pagination .page-numbers.current { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white); }


/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media(max-width:1437px) {
.why-grid {
    grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
    gap: 0px;
}
}
@media(max-width:1199px) {
	.clients-grid {
    grid-template-columns: repeat(auto-fit, minmax(25%, 1fr));
}
	.clients-grid__cell--heading {
		grid-column:span 4;
	}
	.clients-grid__title {
		margin-bottom:24px;
	}
	.clients-grid__cell:nth-child(5) {
		border-left:none;
		border-right:1px solid #DDDEE2;
	}
	.clients-cta {
		white-space:nowrap;
	}
}
@media(max-width:1153px) and (min-width:900.99px) {
	.service-hero__action-block {
		flex-direction:column;
		gap:8px!important;
	}
}
@media (max-width: 1100px) {
  .about-inner { gap: 40px; }
  .faq-inner { gap: 40px; }
  .cta-inner { gap: 40px; }
  .footer-main__grid { grid-template-columns: 1fr 1fr; gap:50px;}
  .footer-col--brand { grid-column: 1 / -1; padding-right:0px;}
 	.footer-logo {
		display:flex;
		justify-content:center;
	}
	.footer-desc {
text-align:center;
	}
	.footer-social {
justify-content:center;
	}
	.footer-right-grid {
		display:flex;
		justify-content:space-between;
		grid-column:span 2;
		border:none;
	}
	.footer-right-grid > * {
		border:none;
	}
	.footer-col--contacts {
		padding:0px;
	}
}
@media(max-width:1081px) {
.why-grid {
    grid-template-columns:repeat(2, 1fr);
    gap: 15px;
}
	.why-grid > * {
		height:100%;
	}
	.why-header {
		gap:15px;
	}
.why-card.why-card--top {
margin-top:0px;
}
	.about-values__body {
flex-direction:column;
}

.about-values__body > * {
	width:100%;
}
	.about-values__item {
		align-items:flex-start;
	}
	.about-values__desc {
		max-width:unset;
	}
	.about-values__marker {
    width: 18px;
    height: 18px;
    position: relative;
    top: 5px;
}
}
@media(max-width:1023px) {
	.single-project__about .single-project__about-layout {
	border-top:0;
}
}
@media(max-width:1020px) {
	.block-why .why-header {
		flex-direction:column;
		justify-content:flex-start;
	}
	.block-why .why-header > * {
		width:100%;
	}
	.why-header__desc {
		max-width:unset;
	}
}
@media(max-width:990px) {
	.about-inner {
		flex-direction:column;
	}
	.about-inner > div {
		width:100%;
	}
	.about-image__img {
		aspect-ratio:2 / 1;
	}
	.about-content {
		border-width:2px;
	}
    .clients-grid {
        grid-template-columns: repeat(auto-fit, minmax(33%, 1fr));
    }
	.clients-grid__cell--heading {
		grid-column:span 3;
	}
	.clients-grid__cell:nth-child(7) {
		border-right:1px solid #DDDEE2;
	}
	.clients-grid__cell:nth-child(5) {
		border-left:1px solid #DDDEE2;
		border-right:none;
	}
}
@media (max-width: 900px) {
  .section { padding: 60px 0; }
	.block-services {
    margin-bottom: 80px;
    padding-bottom: 120px;
}
  .about-inner { grid-template-columns: 1fr; gap: 32px; }
  .faq-inner { grid-template-columns: 1fr; }
  .faq-cta { position: static; }
  .cta-inner { grid-template-columns: 1fr; }
	.cForm .row.two-col {
		flex-direction:column;
	}
	.cForm .row.two-col > span {
		max-width:unset;
	}
	.service-hero__action-block {
		flex-direction:row;
		gap:clamp(0.9375rem, 0.3723rem + 1.8085vw, 2rem);
}
}
@media(max-width:836px) {
.workflow-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}
	.workflow-steps {
		order:1;
		grid-column:span 1;
	}
	.workflow-image {
		grid-column:1;
	}
	.workflow-image__img {
		aspect-ratio:2 / 1;
	}
	.workflow-header,
	.section-header .section-title{
		margin-bottom:24px;
	}
	.cta-inner {
		flex-direction:column;
	}
	.cta-inner > * {
		width:100%;
		max-width:unset;
	}
}
@media(max-width:720px) {
	.footer-bottom__inner {
		flex-direction:column;
	}
}
@media (max-width: 678px) {
    .clients-grid {
        grid-template-columns: repeat(auto-fit, minmax(50%, 1fr));
    }
	.clients-grid__cell--heading {
        grid-column: span 2;
    }
	.clients-grid__cell:nth-child(3),
	.clients-grid__cell:nth-child(5){
		border-right:1px solid #DDDEE2;
	}
		.clients-grid__cell:nth-child(5){
		border-left:none;
			border-bottom:none;
	}
	.clients-grid__cell:nth-child(6) {
		border-bottom:none;
	}
		.clients-grid__cell:nth-child(9) {
		border-top:none;
	}
}
@media (max-width: 640px) {
  .section { padding: 48px 0; }
.block-services {
    margin-bottom: 80px;
    padding-bottom: 120px;
}
  .hero-swiper { height:100vh; min-height: 800px; }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .news-grid { grid-template-columns: 1fr; }
  .header-top__inner { justify-content: space-between; }
  .cta-form-wrap { padding: 28px 20px; }
	.footer-logo__img {
		width:80%;
	}
	.footer-col--brand {
		margin-bottom:0px;
	}
	.footer-right-grid {
		flex-direction:column;
		margin-bottom:35px;
		gap:35px;
	}
}
@media(max-width:625px) {
	.hero-slide__meta {
		flex-direction:column;
		align-items:flex-start;
	}
	.hero-slide__meta .separator {
		display:none;
	}
}
@media(max-width:600px) {
	.why-grid {
    grid-template-columns:repeat(1, 1fr);
	}
	.why-grid > * {
		position:sticky;
		top:70px;
	}
	.why-card__icon-img {
		width:60px;
	}
}
@media(max-width:530px) {
	.workflow-steps {
		grid-template-columns:1fr;
	}
	.workflow-steps > div {
		position:sticky;
		top:50px;
	}
}
@media(max-width:450px) {
	.footer-bottom__links .footer-bottom__nav{
		flex-direction:column;
		justify-content:center;
		align-items:center;
	}
	.service-hero__action-block {
		flex-direction:column;
	}
}
@media(max-width:426px) {
	@media (max-width: 678px) {
    .clients-grid {
        grid-template-columns: repeat(1, 1fr);
    }
	.clients-grid__cell--heading {
        grid-column: span 1;
    }
	.clients-grid__cell:nth-child(2),
	.clients-grid__cell:nth-child(6),
	.clients-grid__cell:nth-child(8){
		border-right:1px solid #DDDEE2;
	}
	.clients-grid__cell:nth-child(5) {
		border-left:1px solid #DDDEE2;
	}
	.clients-grid__cell:nth-child(8) {
			border-top:none;
	}
	.clients-grid__cell:nth-child(9) {
			min-height:50px;
		}
}
}
@media (max-width: 400px) {
  .why-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════
   MODAL — Замовити дзвінок
══════════════════════════════════════════════════════════════ */
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal[hidden] { display: none; }

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(3px);
  cursor: pointer;
}

.modal__window {
  position: relative;
  z-index: 1;
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: 48px 44px;
  width: 100%;
  max-width: 480px;
  box-shadow: 0 24px 64px rgba(0,0,0,0.22);
  animation: modalIn 0.28s cubic-bezier(0.34,1.2,0.64,1) both;
}
@keyframes modalIn {
  from { opacity: 0; transform: translateY(24px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.modal__close {
  position: absolute;
  top: 16px; right: 16px;
  width: 36px; height: 36px;
  border-radius: 50%;
  border: none;
  background: var(--color-gray);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  color: var(--color-dark);
  transition: background var(--transition), color var(--transition);
}
.modal__close:hover { background: var(--color-primary); color: var(--color-white); }

.modal__label {
  display: inline-block;
  font-family: var(--font-heading);
  font-size: 0.6875rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 10px;
}
.modal__title {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-dark);
  text-transform: uppercase;
  margin-bottom: 8px;
  line-height: 1.2;
}
.modal__subtitle {
  font-size: 1rem;
  color: var(--color-text-light);
  margin-bottom: 28px;
  line-height: 1.5;
}

/* ── Форма всередині попапу ───────────────────────────────── */
.callback-form { display: flex; flex-direction: column; gap: 18px; }

.callback-form__field { display: flex; flex-direction: column; gap: 6px; }

.callback-form__label {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-dark);
}
.callback-form__req { color: var(--color-primary); margin-left: 2px; }

.callback-form__input {
  height: 48px;
  padding: 0 16px;
  border: 1.5px solid #ddd;
  border-radius: var(--radius);
  font-family: var(--font-body);
  font-size: 0.9375rem;
  color: var(--color-text);
  background: var(--color-white);
  transition: border-color var(--transition), box-shadow var(--transition);
  outline: none;
  width: 100%;
}
.callback-form__input::placeholder { color: #bbb; }
.callback-form__input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(200,136,60,0.15);
}
.callback-form__input.is-error { border-color: #e53e3e; }
.callback-form__input.is-error:focus { box-shadow: 0 0 0 3px rgba(229,62,62,0.15); }

.callback-form__error {
  font-size: 0.75rem;
  color: #e53e3e;
  min-height: 16px;
  line-height: 1.4;
}

.callback-form__submit {
  width: 100%;
  height: 52px;
  margin-top: 6px;
  position: relative;
  overflow: hidden;
  justify-content: center;
}
.callback-form__submit:disabled { opacity: 0.7; pointer-events: none; }

/* Spinner всередині кнопки */
.callback-form__spinner {
  display: none;
  width: 20px; height: 20px;
  border: 2px solid rgba(255,255,255,0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}
.callback-form.is-loading .callback-form__submit-text { display: none; }
.callback-form.is-loading .callback-form__spinner { display: block; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Повідомлення про успіх */
.callback-form__success {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px 0;
  text-align: center;
  color: var(--color-dark);
}
.callback-form__success[hidden] { display: none; }
.callback-form__success svg { color: #38a169; }
.callback-form__success p {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 1024px) {

}

/* ══════════════════════════════════════════════════════════════
   INNER PAGES (Privacy / Cookies / etc.)
══════════════════════════════════════════════════════════════ */

/* Hero */
.inner-hero {
  position: relative;
  min-height: 220px;
  background: var(--inner-hero-bg, transparent) center / cover no-repeat;
  background-color: var(--color-dark);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 48px;
  padding-top: 80px;
}
.inner-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(25,38,62,0.55) 0%, rgba(25,38,62,0.82) 100%);
}
.inner-hero .container { position: relative; z-index: 2; }
.inner-hero__title {
  color: var(--color-white);
  text-transform: uppercase;
}
.information-section {
	padding-top:120px;
}
.information-inner-section h2 {
color:var(--color-dark);
margin-bottom:32px;
}
.information-inner-section h5 {
color:var(--color-dark);
margin-bottom:18px;
}
.information-inner-section .inner-section__text p {
margin-bottom:32px;
font-weight: 400;
font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
line-height: 1.5em;
color:var(--color-dark);
letter-spacing: 0.01em;
}
/* Breadcrumb — global (used on all inner pages) */
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: clamp(1rem, 0.9107rem + 0.2381vw, 1.125rem);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.01em;
  margin-bottom: 20px;
}
/* supports both .breadcrumb a and .breadcrumb__link */
.breadcrumb a,
.breadcrumb__link {
  color: rgba(255,255,255,0.6);
  text-decoration: underline;
  transition: color var(--transition);
}
.breadcrumb a:hover,
.breadcrumb__link:hover { color: var(--color-primary); }
.breadcrumb__sep {
  color: rgba(255,255,255,0.35);
  display: flex;
  align-items: center;
}
.breadcrumb__current {
  color: var(--color-white);
  opacity: 1;
}

/* Content area */
.inner-content { background: var(--color-white); }
.inner-content__body { max-width: 1440px; background:#F7F7F7; padding:clamp(0.9375rem, -0.1596rem + 3.5106vw, 3rem); }

/* WYSIWYG typography */


/* List with arrow markers */
.information-inner-section .inner-section ul {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.information-inner-section .inner-section ul li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
font-family: Gilroy;
font-weight: 400;
font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
line-height: 1.5em;
letter-spacing: 0.01em;
color: var(--color-dark);
}
.information-inner-section .inner-section ul li::before {
  content: '→';
  color: var(--color-dark);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}
.information-inner-section .inner-section ol {
  padding-left: 24px;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.information-inner-section .inner-section ol li {font-family: Gilroy;
font-weight: 400;
font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
line-height: 1.5em;
letter-spacing: 0.01em;
color: var(--color-dark);}


/* ══════════════════════════════════════════════════════════════
   CONTACTS PAGE
══════════════════════════════════════════════════════════════ */

.contacts-block { background: var(--color-white); }

/* Two-column layout: card | map */
.contacts-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: stretch;
}

/* ── Contact card ─────────────────────────────────────────── */
.contacts-card {
  background: var(--color-white);
  border: 1px solid #DDDEE2;
	padding-inline:clamp(0.9375rem, 0.2394rem + 2.234vw, 2.25rem);
		padding-block:clamp(0.9375rem, 0.1064rem + 2.6596vw, 2.5rem);
 
  display: flex;
box-shadow:
	0px 0px 5.05px 0px #00000004,
	0px 0px 19.75px 0px #00000006,
	0px 0px 62px 0px #0000000A;
flex-direction: column;
}
.contacts-card__title {
    color: var(--color-dark);
	margin-bottom:36px;
}

/* List of contact items */
.contacts-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contacts-card__item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
}
.contacts-card__item:last-child { border-bottom: none; }

.contacts-card__icon {
  width: 48px; height: 48px;
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-dark);
  flex-shrink: 0;
}
.contacts-card__info { display: flex; flex-direction: column; gap: 2px; }
.contacts-card__label {color: var(--color-dark); font-weight: 400; font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem); line-height: 1.45em; letter-spacing: 0.01em;}
.contacts-card__value {
  font-size: clamp(1rem, 0.867rem + 0.4255vw, 1.25rem);
  font-weight: 600;
  color: var(--color-dark);
	text-transform:uppercase;
	line-height:1.5em;
  letter-spacing: 0.01em;
}
.contacts-card__value--link { transition: color var(--transition); }
.contacts-card__value--link:hover { color: var(--color-primary); }

/* Social icons */
.contacts-card__socials { margin-top: auto; }
.contacts-card__socials-label { font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem); color: var(--color-dark); display: block; margin-bottom: 12px; line-height:1.45em; letter-spacing:0.01em; text-transform:lowercase;}
.contacts-card__socials-list { display: flex; gap: 10px; flex-wrap: wrap; }
.contacts-social__link {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--color-dark);
  display: flex; align-items: center; justify-content: center;
  transition: background var(--transition);
  flex-shrink: 0;
}
.contacts-social__link:hover { background: var(--color-primary); }
.contacts-social__icon { width: 48px; height: 48px; object-fit: contain; filter: brightness(0) invert(1); }

/* ── Map ──────────────────────────────────────────────────── */
.contacts-map {
  display: flex;
  flex-direction: column;
  overflow: hidden;
	position:relative;
}
.contacts-map__frame-wrap {
  flex: 1;
  min-height: 340px;
  position: relative;
}
.contacts-map__frame {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  min-height: 340px;
}
.contacts-map__label {
  display: flex;
  align-items: center;
  gap: 10px;
	position:absolute;
	bottom:24px;
	left:50%;
	transform:translateX(-50%);
	width:calc(100% - 48px);
  backdrop-filter: blur(14px);
border: 0.5px solid #19263E40;
  color: var(--color-dark);
  padding: 12px;
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 1.0585rem + 0.2128vw, 1.25rem);
  font-weight: 600;
	line-height:1.5em;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.contacts-map__label-text { flex: 1; }
.contacts-map__label .texts {
	display:flex;
	flex-direction:column;
} 
.map-text-subtitle {
	opacity:0.6;
color:#19263E;
font-weight: 400;
font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
line-height: 1.45em;
letter-spacing: 0.01em;
text-transform: lowercase;
}
/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 900px) {
  .contacts-layout { grid-template-columns: 1fr; }
  .contacts-map { min-height: 320px; }
}

/* ══════════════════════════════════════════════════════════════
   SERVICES PAGE (template-services.php)
══════════════════════════════════════════════════════════════ */

.services-page { background: var(--color-dark); }

.services-page__header { margin-bottom: 40px; }

/* ── Services grid ─────────────────────────────────────────── */
/*
  Pattern (mirrors the design screenshot):
  Row 1: 2 wide cards  (2 columns)
  Row 2: 3 narrow cards (3 columns)
  Row 3: 2 wide cards  (2 columns)
  Repeats for more items.
*/
.services-page__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* 6-column base for LCM of 2 and 3 */
  gap: 20px;
}
.page-services .block-cta,
.page-template-template-services {
	background:var(--color-dark);
)
}
/* Default: every card spans 3 cols (row of 2) */
.services-page__card {
  grid-column: span 3;
  position: relative;
  overflow: hidden;
  aspect-ratio: 655 / 498;
  background: var(--svc-bg, var(--color-dark)) center / cover no-repeat;
  filter: grayscale(100%);
  transition: filter 0.4s ease;
  cursor: pointer;
}
.services-page__card:hover { filter: grayscale(0%); }

/* 3rd, 4th, 5th cards (index 3,4,5) → span 2 cols (row of 3) */
.services-page__card:nth-child(3),
.services-page__card:nth-child(4),
.services-page__card:nth-child(5) {
  grid-column: span 2;
  aspect-ratio: 430 / 532;
}

/* If there are 8+ services, 9th, 10th, 11th get narrow again */
.services-page__card:nth-child(9),
.services-page__card:nth-child(10),
.services-page__card:nth-child(11) {
  grid-column: span 2;
  aspect-ratio: 430 / 532;
}

/* Overlay */
.services-page__card-overlay {
  position: absolute;
  inset: 0;
left:0px;
	top:0px;
	width:100%;
	height:100%;
	z-index:2;
  background: rgba(25, 38, 62, 0.5);
  transition: background 0.4s ease;
}
.services-page__card:hover .services-page__card-overlay {
  background: linear-gradient(to top, rgba(25,38,62,0.9) 0%, rgba(25,38,62,0.35) 60%);
}

/* Content */
.services-page__card-content {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
 gap: clamp(0.9375rem, 0.6383rem + 0.9574vw, 1.5rem);
}
.services-page__card-title {
 font-size: clamp(1.25rem, 1.0505rem + 0.6383vw, 1.625rem);
  font-weight: 500;
  color: var(--color-white);
  text-transform: uppercase;
  letter-spacing: 0.01em;
	padding-inline:24px;
  line-height: 1.3em;
}
.services-page__card-link-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 1rem;
	justify-content:center;
	padding:18px;
  color: var(--color-white);
  transition: color var(--transition);
  font-family: var(--font-heading);
	backdrop-filter: blur(25px);
	border-top: 0.5px solid rgba(255, 255, 255, 1);
  letter-spacing: 0.04em;
}
.services-page__card:hover .services-page__card-link-text { color: var(--color-white); }
.services-page__header .section-title {
	color:var(--color-white);
}
/* Full-card clickable overlay */
.services-page__card-overlay-link {
  position: absolute;
  inset: 0;
  z-index: 3;
}

/* Separator lines between cards */
.services-page__card::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,0.08);
  pointer-events: none;
  z-index: 4;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 900px) {
  .services-page__grid { grid-template-columns: repeat(2, 1fr); }
  .services-page__card,
  .services-page__card:nth-child(3),
  .services-page__card:nth-child(4),
  .services-page__card:nth-child(5),
  .services-page__card:nth-child(9),
  .services-page__card:nth-child(10),
  .services-page__card:nth-child(11) {
    grid-column: span 1;
    aspect-ratio: 4 / 3;
  }
}
@media (max-width: 540px) {
  .services-page__grid { grid-template-columns: 1fr; }
  .services-page__card,
  .services-page__card:nth-child(n) {
    grid-column: span 1;
    aspect-ratio: 3 / 2;
  }
}

/* News pagination */
.news-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 40px;
  flex-wrap: wrap;
}
.news-pagination__btn {
  min-width: 40px; height: 40px;
  padding: 0 12px;
  border: 1px solid var(--color-border, #e0ddd9);
  background: var(--color-white);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition), color var(--transition);
}
.news-pagination__btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.news-pagination__btn.is-active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white); }
#news-layout { transition: opacity 0.25s ease; }

/* Services page pagination */
.services-page__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 48px;
  flex-wrap: wrap;
}
.services-page__page-btn {
  min-width: 40px; height: 40px;
  padding: 0 12px;
  border: 1px solid var(--color-border, #e0ddd9);
  border-radius: 4px;
  background: var(--color-white);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--transition), border-color var(--transition), color var(--transition);
}
.services-page__page-btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.services-page__page-btn.is-active { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white); }
#services-page-grid { transition: opacity 0.25s ease; }

/* ══════════════════════════════════════════════════════════════
   SINGLE SERVICE PAGE
══════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────── */
.service-hero { min-height: 520px; }
.service-hero__content { display: flex; flex-direction: column; gap: 24px; }
.service-hero__title { margin-top: 12px; }
.service-hero__action-block {
	display:flex;
	gap:clamp(0.9375rem, 0.3723rem + 1.8085vw, 2rem);
	align-items:center;
}
.single-service__about-block {
	background:var(--color-white)!important;
}
/* Bottom row: quote | button | phone */
.service-hero__bottom {
  display: flex;
  align-items: center;
	justify-content:space-between;
  gap: 24px;
  flex-wrap: wrap;
}

/* Avatar + speech bubble */
.service-hero__quote-wrap {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  flex-shrink: 0;
}
.service-hero__avatar {
  width: 64px; height: 64px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid rgba(255,255,255,0.4);
}
.service-hero__avatar-img { width: 100%; height: 100%; object-fit: cover; }
.single-service__about-block .service-about__content {
	border-width: 2px 0px 2px 2px;
border-style: solid;
border-color: rgba(221, 222, 226, 1);
	padding:clamp(1.25rem, 0.3191rem + 2.9787vw, 3rem);
box-shadow: 0px 0px 5.05px 0px rgba(0, 0, 0, 0.02), 0px 0px 19.75px 0px rgba(0, 0, 0, 0.02),0px 0px 62px 0px rgba(0, 0, 0, 0.04), 0px 0px 62px 0px rgba(0, 0, 0, 0.04);
}
.service-hero__bubble {
  background: var(--color-white);
  border-radius: 0px 10px 10px 10px;
  padding: 14px 18px;
	position:relative;
	max-width:510px;
}
.service-hero__bubble::before {
	content:'';
	left:-20px;
	top:0px;
	position:absolute;
width: 0; height: 0;
  border-style: solid;
  border-width: 20px 0px 0px 20px;
  border-color: #ffffff transparent transparent transparent;
  transform: rotate(0deg);
}
.service-hero__bubble p {
font-style: Medium;
font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
line-height: 1.4em;
letter-spacing: 0.01em;
  color: var(--color-dark);
  line-height: 1.6;
  margin: 0;
}

/* Button */
.service-hero__actions { flex-shrink: 0; }
.service-hero__btn { white-space: nowrap; font-weight:500; text-transform:unset; font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem); line-height:1em; border: 0.5px solid rgba(255, 255, 255, 1); background: rgba(255, 255, 255, 0.25); }

/* Phone block */
.service-hero__phone-wrap {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
}
.service-hero__phone-label {
  font-size: 0.875rem;
  color: rgba(237, 241, 255, 1);
  text-transform: lowercase;
	line-height: 1.45em;
  letter-spacing: 0.01em;
}
.service-hero__phone {
  display: flex;
  align-items: center;
  gap:clamp(0.5rem, 0.3005rem + 0.6383vw, 0.875rem);
  color: rgba(237, 241, 255, 1);
  font-family: var(--font-heading);
  font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
  font-weight: 700;
	line-height:1.45em;
	letter-spacing:0.01em;
  transition: color var(--transition);
}
.service-hero__phone:hover { color: var(--color-primary); }
.service-hero__phone-icon {
  width: 40px; height: 40px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--color-white);
}

@media (max-width: 900px) {
  .service-hero__bottom { flex-direction: column; align-items: flex-start; }
}

/* ── About service ────────────────────────────────────────── */
.service-about { background: var(--color-dark); color: var(--color-white); }
.service-about__grid {
  display: grid;
  grid-template-columns: 1fr 1.33fr;
  gap: 20px;
  align-items: stretch;
}
.service-about__image {overflow: hidden; }
.service-about__img { width: 100%; height: auto; display: block; }
.service-about__title {
color:var(--color-dark);
  margin-bottom: 24px;
}
.service-about__text { color: rgba(255,255,255,0.75); margin-bottom: 32px; }
.service-about__text p { margin-bottom: 14px; line-height: 1.5em; font-size:1rem; color:var(--color-dark); letter-spacing:0.01em; font-weight:400;}
.service-about__btn {text-transform:none; font-weight:500; font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem); }
.service-about__btn:hover {color:var(--color-white);}

/* ── Sub-services slider ──────────────────────────────────── */
.service-includes { background: var(--color-white); overflow: hidden; padding-bottom:0px;}

/* Two-column layout: left fixed text | right full-bleed slider */
.service-includes__inner {
  display: flex;
  align-items: stretch;
  gap: 0;
  padding-top: 80px;
  padding-bottom: 80px;
}

/* Left column — label + title + arrows */
.service-includes__left {
  flex-shrink: 0;
  width: calc((100vw - var(--container-max, 1330px)) / 2 + 390px);
  min-width: 390px;
  
  padding-left: calc((100vw - var(--container-max, 1330px)) / 2);
  padding-right: 48px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 1240px) {
  .service-includes__left {
    padding-left: 20px;
    width: 280px;
  }
}

.service-includes__title {
  color: var(--color-dark);
}

.service-includes__arrows { margin-top: auto; padding-top: 32px; }

/* Right column — slider overflows to the right */
.service-includes__slider-wrap {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

.service-inc-swiper {
  overflow: visible;
  padding-bottom: 60px;
  /* Peek of next slide shown via padding-right — works with integer slidesPerView */
  padding-right: 100px;
	margin-right:-50px!important;
	padding-bottom:70px!important;
  box-sizing: border-box;
}

/* Card */
.service-inc-swiper .swiper-slide {
  height: auto;
  display: flex;
}

.service-inc-card {
  background: var(--color-white);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.service-inc-card__image {
  aspect-ratio: 431 / 340;
  overflow: hidden;
  flex-shrink: 0;
}
.service-inc-card__img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform 0.4s ease;
}
.service-inc-card:hover .service-inc-card__img { transform: scale(1.04); }
.service-inc-card__body  {
    padding: clamp(0.9375rem, 0.6383rem + 0.9574vw, 1.5rem);
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    top: -20px;
    gap: 16px;
    z-index: 999;
    background: #FFF;
    width: calc(100% - 20px);
    margin: 0 auto;
}
.service-inc-card__title {
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 1.0585rem + 0.2128vw, 1.25rem);
  font-weight: 600;
  color: var(--color-dark);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1.5уь;
}
.service-inc-card__text { font-size: 1rem; color: var(--color-dark); line-height: 1.5; flex: 1; }

/* Hero-style progress dots */
.service-inc-swiper__pagination {
  bottom: 14px !important;
  display: flex; align-items: center; justify-content: center; gap: 14px;
}
.service-inc-swiper .swiper-pagination-bullet {
  width: 28px; height: 28px; border-radius: 50%;
  background: transparent; opacity: 1; position: relative; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  padding: 0; margin: 0 !important;
}
.service-inc-swiper .swiper-pagination-bullet::before {
  content: ''; display: block; width: 10px; height: 10px; border-radius: 50%;
  background: var(--color-dark); transition: background 0.3s; position: relative; z-index: 1;
}
.service-inc-swiper .swiper-pagination-bullet-active::before { background: var(--color-dark); }
.inc-bullet-svg { display: none; position: absolute; inset: 0; width: 100%; height: 100%; }
.service-inc-swiper .swiper-pagination-bullet-active .inc-bullet-svg { display: block; }
.inc-bullet-track  { fill: none; stroke: rgba(0,0,0,0.12); stroke-width: 1.5; }
.inc-bullet-progress {
  fill: none; stroke: var(--color-dark); stroke-width: 1.5; stroke-linecap: round;
  stroke-dasharray: 75.4; stroke-dashoffset: 75.4;
  transform: rotate(-90deg); transform-origin: center; animation: none;
}
.service-inc-swiper .swiper-pagination-bullet-active .inc-bullet-progress {
  animation: incBulletProgress var(--inc-delay, 5000ms) linear forwards;
}
@keyframes incBulletProgress { from { stroke-dashoffset: 75.4; } to { stroke-dashoffset: 0; } }

@media (max-width: 768px) {
  .service-includes__inner { flex-direction: column; padding: 48px 20px; }
  .service-includes__left { width: 100%; max-width: 100%; padding: 0; margin-bottom:16px;}
  .service-includes__arrows { display:none; }
	.service-includes__left .section-label {
		margin-bottom:0px;
	}
}

/* ── Work stages ──────────────────────────────────────────── */
.section-stages-inner {
  position: relative;
	padding-block:64px;
	padding-inline:clamp(0rem, -2.1277rem + 6.8085vw, 4rem);
	display:flex;
	flex-direction:column;
	gap:clamp(0.9375rem, -0.1596rem + 3.5106vw, 3rem);
  background: var(--stages-bg, var(--color-dark)) center / cover no-repeat;
}
.section-stages-inner::before {
    content: "";
    position: absolute;
    background: url(../img/block-logo-decor.svg);
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    left: 50%;
    bottom: 0%;
    transform: translateX(-50%);
    z-index: 1;
    pointer-events: none;	
}
.container-stages {
	background:var(--color-dark);
}
.service-stages__overlay {
  position: absolute;
  inset: 0;
  background: rgba(25,38,62,0.85);
}
.service-stages .container { position: relative; z-index: 2; }
.service-stages__grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: clamp(0.9375rem, -0.1596rem + 3.5106vw, 3rem);
  align-items: start;
}
.service-stages {
	padding:0px;
	margin-bottom:80px;
}
.service-stages__title {
  color: var(--color-white);
}
.service-stages__image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 532 / 750;
}
.service-stages__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Accordion items */
.service-stages__accordion {
  display: flex;
  flex-direction: column;
  counter-reset: stages-counter;
}
.stages-item { border-bottom: 1px solid rgba(255,255,255,0.15); }
.stages-item:nth-child(1) { border-top: 1px solid rgba(255,255,255,0.15); }
.stages-item__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 0;
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,255,255,0.7);
  transition: color var(--transition);
  text-align: left;
}
.stages-item--open .stages-item__trigger,
.stages-item__trigger:hover { color: var(--color-white); }

/* Counter badge */
.stages-item__trigger::before {
  counter-increment: stages-counter;
  content: counter(stages-counter, decimal-leading-zero);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  background: linear-gradient(180deg, #EB9A7F 0%, #E17959 100%);
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 1.0585rem + 0.2128vw, 1.25rem);
  font-weight: 600;
  letter-spacing: 0.01em;
	text-transform:uppercase;
	line-height:1.5em;
  color: rgba(255,255,255,1);
  transition: background var(--transition), color var(--transition);
}
.stages-item--open .stages-item__trigger::before,
.stages-item__trigger:hover::before {
  background: var(--color-primary);
  color: var(--color-white);
}

.stages-item__title {
  font-family: var(--font-heading);
   font-size: clamp(1.125rem, 1.0585rem + 0.2128vw, 1.25rem);
	color:var(--color-white);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.01em;
	line-height:1.5em;
  flex: 1;
}
.stages-item__icon {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
	background:rgba(126, 139, 164, 1);
  transition: background var(--transition), border-color var(--transition);
}
.stages-item--open .stages-item__icon {
  background: var(--color-primary);
  border-color: var(--color-primary);
  transform: rotate(90deg);
}
.stages-item__body[hidden] { display: none; }
.stages-item__text {
	padding: 32px 0 32px;
	font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
	letter-spacing:0.01em;
	font-weight:400;
	color: rgba(237, 241, 255, 1);
	line-height: 1.45em;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1024px) {
  .service-about__grid  { grid-template-columns: 1fr; gap: 20px; }
  .service-stages__grid { grid-template-columns: 1fr; gap: 40px; }
}
@media(max-width:767px) {
	.service-stages__image {
  aspect-ratio: 3 / 2;
}
	.single-post__body .single-post__layout {flex-direction:column;}
	.single-post__body .post-sidebar__thumb img {width:100%;}
}
@media (max-width: 600px) {
  .service-hero__actions { flex-direction: column; align-items: flex-start; }
}


/* ══════════════════════════════════════════════════════════════
   NEWS PAGE (template-news.php)
══════════════════════════════════════════════════════════════ */

/* ── Page header: heading + filter ─────────────────────────── */
.news-page__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}
.news-page__heading .section-label { margin-bottom: 8px; }
.news-page__heading .section-title { margin-top: 0; }

/* ── Filter ─────────────────────────────────────────────────── */
.news-page__filter { flex: 0 0 auto; min-width: 240px; }
.news-filter__label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: clamp(1.25rem, 1.0838rem + 0.5319vw, 1.5625rem);
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: uppercase;
line-height: 1.5em;
  color: var(--color-dark);
  margin-bottom: 16px;
}
.news-filter__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0px;
max-width:650px;
}
.news-filter__tab {
  display: inline-flex;
  align-items: center;
  gap: 4px;
padding-block:clamp(0.9375rem, 0.7713rem + 0.5319vw, 1.25rem);
  padding-inline:clamp(0.9375rem, -0.1596rem + 3.5106vw, 3rem);
  border: 1px solid var(--color-border, #e0ddd9);
  background: var(--color-white);
  color: rgba(197, 201, 207, 1);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.01em;
line-height: 1.5em;
  text-transform: uppercase;
  cursor: pointer;

  transition: background var(--transition), border-color var(--transition), color var(--transition);
}
.news-filter__tab:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.news-filter__tab.is-active {
  background: var(--color-dark);
  border-color: var(--color-dark);
  color: var(--color-white);
}
.news-filter__count { opacity: 0.65; font-weight: 400; }

/* ── Top block ──────────────────────────────────────────────── */
.news-page__top {
  margin-bottom: 48px;
  transition: opacity 0.25s ease;
}

/* ── Grid ───────────────────────────────────────────────────── */
.news-page__grid-wrap { transition: opacity 0.25s ease; }
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.news-card__thumb-wrap { display: block; }
.news-card__thumb { position: relative; overflow: hidden; aspect-ratio: 3/2; }
.news-page__empty {
  text-align: center;
  padding: 48px 0;
  color: rgba(0,0,0,0.45);
  font-size: 1rem;
}

/* ── Pagination ─────────────────────────────────────────────── */
.news-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 48px;
  flex-wrap: wrap;
}
.news-pagination__btn {
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border: 1px solid var(--color-border, #e0ddd9);

  background: var(--color-white);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--transition), border-color var(--transition), color var(--transition);
}
.news-pagination__btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
.news-pagination__btn.is-active {
  background: var(--color-dark);
  border-color: var(--color-dark);
  color: var(--color-white);
}
.news-pagination__prev,
.news-pagination__next { font-size: 0; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .news-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .news-page__header { flex-direction: column; gap: 24px; justify-content:space-between;}
  .news-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════
   PROJECTS PAGE (template-projects.php)
══════════════════════════════════════════════════════════════ */

/* ── Two-column layout ──────────────────────────────────────── */
.projects-page__layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: clamp(1.125rem, 0.3936rem + 2.3404vw, 2.5rem);
  align-items: start;
  margin-bottom: 0;
}
.projects-page__heading-spacer {
  /* Empty placeholder to align grid with filter above */
}
.projects-page__heading .section-label { margin-bottom: 8px; }
.projects-page__title { margin-top: 0; }
.projects-page__desc {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--color-dark);
  max-width: 380px;
}
.projects-page__right { min-width: 0; display:flex; justify-content:flex-end;}
.projects-page__filter { margin-bottom: 32px; }

/* ── Grid ───────────────────────────────────────────────────── */
.projects-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* ── Load more button ───────────────────────────────────────── */
.projects-page__load-more-wrap {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}
.projects-page__load-more {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  padding: 18px 32px;
  border: 1px solid var(--color-border, #e0ddd9);
  background: var(--color-white);
  color: var(--color-dark);
  font-family: var(--font-heading);
  font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
  cursor: pointer;
  justify-content: center;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.projects-page__load-more:hover {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}
.projects-page__load-more:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.projects-page__load-more svg {
  transition: transform 0.5s linear;
}
.projects-page__load-more.is-loading svg {
  animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .projects-page__layout { grid-template-columns: 1fr; gap: 24px; }
  .projects-page__heading-spacer { display: none; }
  .projects-page__desc { max-width: 100%; }
}
@media (max-width: 640px) {
  .projects-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════
   SINGLE PROJECT (single-agroup_project.php)
══════════════════════════════════════════════════════════════ */

/* ── Hero ───────────────────────────────────────────────────── */
.single-project__hero { min-height: 340px; padding-bottom: 48px; }
.single-project__title { font-size: clamp(1.75rem, 1.2rem + 1.5vw, 2.75rem); line-height: 1.15; }
.single-project__details {
	position:relative;
	overflow:hidden;
	background:var(--color-dark);
}
.single-project__intro-layout > div {width:auto;}
.single-project__intro-layout .single-project__intro-image{aspect-ratio:569 / 584; object-fit:cover;width:100%;}
.single-project__details::before {
    content: "";
    position: absolute;
    background: url(../img/logo-decor.svg) bottom center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    left: 50%;
    bottom: 0%;
    transform: translateX(-50%);
    z-index: 0;
    pointer-events: none;
}
section.single-project__details {
	padding-bottom:0px;
}
.single-project__gallery .section-header .section-header__left{
	width:100%;
}
.single-project__gallery .section-header .section-title {max-width:unset;}
/* ── Intro: image + chars ───────────────────────────────────── */
.single-project__intro-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 4vw, 80px);
  align-items: start;
}
/* No image → table goes full width */
.single-project__intro-layout--full {
  grid-template-columns: 1fr;
}
.single-project__intro-layout--full .single-project__chars { max-width: 800px; }
.single-project__intro-image { overflow: hidden; }
.single-project__thumb { width: 100%; height: auto; display: block; object-fit: cover; }

/* Characteristics table */
.project-chars { width: 100%; border-collapse: collapse; }
.project-chars__row {display:flex;justify-content:space-between; align-items:center; padding:48px 0px; border-bottom: 1px solid var(--color-border, rgba(255, 255, 255, 0.25)); }
.project-chars__row:first-child { border-top: 1px solid var(--color-border, rgba(255, 255, 255, 0.25)); }
.project-chars__row > span {width:auto;}
.project-chars__label {
  font-family: var(--font-heading);
  font-size: clamp(1.125rem, 1.0585rem + 0.2128vw, 1.25rem);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: var(--color-white);
  width: 42%;
	text-align:left;
  vertical-align: top;
  white-space: nowrap;
}
.project-chars__value {
  font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
  color: var(--color-white);
  vertical-align: top;
	text-align:right;
  line-height: 1.5;
}
/* Date value with calendar icon */
.project-chars__value .chars-date {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ── About (dark bg) ─────────────────────────────────────────── */
.single-project__about {
  padding: clamp(3rem, 5vw, 80px) 0;
	padding-bottom:0px;
}
.single-project__about-layout {
	border-top:1px solid rgba(255, 255, 255, 0.25);
}
.single-project__about-layout {
  display: grid;
	padding-block:80px;
  grid-template-columns: 520px 1fr;
  gap: clamp(2rem, 4vw, 80px);
  align-items: start;
}
.single-project__about-heading { display: flex; flex-direction: column; gap: 12px; }
.single-project__about-heading .section-label--light { color: var(--color-primary); }
.single-project__about-title {
  color: var(--color-white);
}
.single-project__about-content { color: rgba(255,255,255,0.75); }
.single-project__about-content p {
  font-size: clamp(1rem, 0.9335rem + 0.2128vw, 1.125rem);
  line-height: 1.5em;
	margin-bottom:50px;
  color: rgba(255,255,255,1);
}
.single-project__about-content p:last-child { margin-bottom: 0; }
.single-project__about-content h2,
.single-project__about-content h3 {
  color: var(--color-white);
  font-family: var(--font-heading);
  text-transform: uppercase;
  margin: 32px 0 12px;
}
.single-project__about-content ul,
.single-project__about-content ol {
  padding-left: 20px;
  margin-bottom: 20px;
  color: rgba(255,255,255,0.75);
}
.single-project__about-content li { margin-bottom: 8px; line-height: 1.6; }
.single-project__about-content strong { color: var(--color-white); font-weight: 700; }

/* ── Gallery ─────────────────────────────────────────────────── */
.project-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.project-gallery__item {
  display: block;
  overflow: hidden;
  background: var(--color-dark);
	height:380px;
	width:100%;
	object-fit:cover;
}
.project-gallery__item:first-child,
.project-gallery__item:nth-child(7){
  grid-column: span 2;
  aspect-ratio: 789/380;
}
.project-gallery__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}
.project-gallery__item:hover .project-gallery__img { transform: scale(1.04); }

.project-gallery__load-more-wrap {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .single-project__intro-layout,
  .single-project__intro-layout--full { grid-template-columns: 1fr; }
  .single-project__about-layout { grid-template-columns: 1fr; }
  .project-gallery { grid-template-columns: repeat(2, 1fr); }
  .project-gallery__item:first-child { grid-column: span 2; }
}
@media (max-width: 640px) {
  .project-gallery { grid-template-columns: 1fr; }
  .project-gallery__item:first-child { grid-column: span 1; aspect-ratio: 4/3; }
}
