﻿/* XDM Construction Ltd â€” theme overrides */
:root {
  --xcm-brown: #8B6B4A;
  --xcm-brown-light: #A67C52;
  --xcm-yellow: #F5C518;
  --xcm-dark: #14110E;
  --xcm-cream: #F7F1E8;
  --xcm-ink: #2a241e;
  --xcm-muted: #5c534a;
  --xcm-glass: rgba(245, 242, 238, 0.78);
  --xcm-glass-strong: rgba(250, 248, 245, 0.92);
  --xcm-brown-rgb: 139, 107, 74;
  --xcm-yellow-rgb: 245, 197, 24;
  --theme: #8B6B4A;
  --theme-2: #A67C52;
}

/* Kill custom cursor */
.mouseCursor,
.mouseCursor.cursor-outer,
.mouseCursor.cursor-inner {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body,
body * {
  cursor: auto !important;
}
body a,
body a *,
body button,
body button *,
body [role="button"],
body [role="button"] *,
body .theme-btn,
body .theme-btn *,
body .contacts-btn,
body .contact-btn,
body .xcm-quote-cta,
body .xcm-quote-cta *,
body .circle,
body .circle *,
body .circle-image,
body .circle-image *,
body .accordion-button,
body .accordion-button *,
body .swiper-button-next,
body .swiper-button-prev,
body .xcm-project-next,
body .xcm-project-prev,
body .xcm-why__header,
body .xcm-why__header *,
body .xcm-why__more,
body .xcm-impacts-trust__cta,
body .xcm-impacts-trust__links a,
body .xcm-impacts-trust__links a * {
  cursor: pointer !important;
}

/* Template chrome */
.header-top { display: none !important; height: 0 !important; overflow: hidden !important; }
.cart-icon { display: none !important; }
.header-2,
.header-7,
#header-sticky { top: 0 !important; }
header.hero-section-2 { padding-top: 0 !important; }

/* Color overrides: orange â†’ brown / yellow */
.theme-btn,
.theme-btn-main .theme-btn,
.theme-btn-main.style-2 .theme-btn,
.theme-btn-2,
.back-to-top,
.mean-container .mean-nav ul li a.mean-expand,
.swiper-pagination-bullet-active,
.array-button button:hover,
.video-btn,
.ripple::before,
.ripple::after,
.preloader .spinner,
.circle-icon,
.sub-title,
.accordion-button:not(.collapsed),
.link-btn:hover,
.star i,
.text-box {
  --theme: var(--xcm-brown);
}

.theme-btn,
.theme-btn-main .theme-btn,
.theme-btn-2 {
  background-color: var(--xcm-brown) !important;
  border-color: var(--xcm-brown) !important;
  color: #fff !important;
}
/* style-2: outer pill is filled; inner label stays transparent (no double highlight) */
.theme-btn-main.style-2 {
  background-color: var(--xcm-brown) !important;
}
.theme-btn-main.style-2 .theme-btn {
  background-color: transparent !important;
  background: transparent !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}
.theme-btn-main .theme-btn-arrow-left,
.theme-btn-main .theme-btn-arrow-right,
.theme-btn-main.style-2 .theme-btn-arrow-left,
.theme-btn-main.style-2 .theme-btn-arrow-right {
  background-color: var(--xcm-brown-light) !important;
  color: #fff !important;
}
.theme-btn-main.style-2 .theme-btn-arrow-left,
.theme-btn-main.style-2 .theme-btn-arrow-right {
  background-color: #fff !important;
  color: var(--xcm-brown) !important;
}
.theme-btn-main:not(.style-2):hover .theme-btn {
  background-color: var(--xcm-yellow) !important;
  color: var(--xcm-dark) !important;
}
.theme-btn-main.style-2:hover {
  background-color: var(--xcm-yellow) !important;
}
.theme-btn-main.style-2:hover .theme-btn {
  background-color: transparent !important;
  background: transparent !important;
  color: var(--xcm-dark) !important;
}
.theme-btn-2 {
  background: var(--xcm-brown) !important;
}
.theme-btn-2:hover {
  background: var(--xcm-yellow) !important;
  color: var(--xcm-dark) !important;
}
a:hover,
.main-menu ul li a:hover,
.main-menu ul li.active > a,
.list-area li a:hover,
.footer-section-5 a:hover {
  color: var(--xcm-brown-light);
}
.bg-color-3,
.header-bg {
  background-color: #6f5538 !important;
}
.sub-title,
.sub-title.color {
  color: var(--xcm-brown) !important;
}
.sub-title.text-white,
.sub-title.style-2 {
  color: var(--xcm-yellow) !important;
}
/* Section eyebrows: OUR PROJECTS / WHO WE ARE / OUR SERVICES / etc. */
.section-title .sub-title,
.sub-title {
  font-size: clamp(16px, 1.35vw, 20px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.35 !important;
  margin-bottom: 18px !important;
  padding-left: 22px !important;
}
.section-title .sub-title::before,
.sub-title::before {
  width: 8px !important;
  height: 8px !important;
}
.back-to-top {
  background: var(--xcm-brown) !important;
}
.video-btn {
  background: var(--xcm-yellow) !important;
  color: var(--xcm-dark) !important;
}

/* Logo */
.header-logo {
  display: inline-flex !important;
  align-items: center;
  gap: 0;
  text-decoration: none !important;
}
.header-logo img,
.offcanvas__logo img,
.footer-section-5 .widget-title img {
  max-height: 72px !important;
  width: auto !important;
  height: auto !important;
  max-width: 260px !important;
  object-fit: contain;
  filter: drop-shadow(0 1px 6px rgba(20, 17, 14, 0.18));
}
.header-7 .header-logo img {
  max-height: 118px !important;
  max-width: 340px !important;
  min-height: 80px;
  filter: drop-shadow(0 1px 8px rgba(20, 17, 14, 0.2));
}
.header-7 .header-logo {
  max-width: 280px;
}
.about-middle-content-7 .client-image {
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
}
.about-middle-content-7 .client-image img {
  max-height: 72px !important;
  max-width: 200px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}
.hero-7 .hero-title-2 {
  max-width: 520px !important;
  margin-bottom: 14px !important;
  position: relative;
  z-index: 2 !important;
  text-align: left !important;
  line-height: 1.2;
  color: #fff !important;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}
.hero-7 .hero-title-2__to {
  display: inline;
  width: auto;
  text-align: inherit;
  text-transform: lowercase;
}

/* Slim glass trust chips under tagline (Google + Instagram only) */
.xcm-hero-trust {
  position: relative;
  z-index: 6;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 520px;
  min-height: 34px;
  margin: 0 auto 48px;
}
.xcm-hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 11px;
  border-radius: 999px;
  text-decoration: none !important;
  color: rgba(255, 255, 255, 0.92) !important;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.xcm-hero-chip:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff !important;
}
.xcm-hero-chip__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  flex-shrink: 0;
}
.xcm-hero-chip__mark svg {
  display: block;
}
.xcm-hero-chip__label {
  opacity: 0.92;
}
.xcm-hero-chip__stars {
  display: inline-flex;
  gap: 1px;
  color: #f5c518;
  font-size: 0.55rem;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.35));
}
.xcm-hero-chip--ig i {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.95);
}
.xcm-hero-form-trust__google {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.xcm-hero-form-trust__google svg {
  display: block;
}

.xcm-hero-form-trust {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  max-width: 100%;
  margin: 0 0 14px;
  padding: 7px 12px 7px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.12);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.xcm-hero-form-trust__stars {
  display: inline-flex;
  gap: 2px;
  color: #c9a227;
  font-size: 0.72rem;
  filter: none;
}
.xcm-hero-form-trust__text {
  flex: 0 1 auto;
  min-width: 0;
  color: #3d3630;
  font-size: 0.78rem;
  line-height: 1.2;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.xcm-hero-form-trust__text strong {
  color: #14110e;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media (max-width: 1199px) {
  .xcm-hero-trust {
    max-width: 420px;
    margin-bottom: 28px;
  }
}
/* sizing rules live in emergency block below */
/* Header menu: template right side + original font/spacing (not centered) */
.header-7 .header-main {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  gap: 24px;
  flex-wrap: nowrap !important;
}
.header-7 .header-logo {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
}
.header-7 .header-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 1 auto !important;
  min-width: 0;
  position: static !important;
  gap: 50px !important;
  margin-left: auto !important;
}
.header-7 .mean__menu-wrapper {
  position: static !important;
  left: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  max-width: none;
}
.header-7 .main-menu > nav > ul {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  margin: 0 !important;
}
.header-7 .main-menu ul li {
  margin-inline-end: 35px !important;
}
.header-7 .main-menu ul li:last-child {
  margin-inline-end: 0 !important;
}
.header-7 .main-menu ul li a {
  font-family: "Barlow", sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 15px 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-transform: capitalize !important;
  letter-spacing: normal !important;
}
.header-7 .header-right-icon,
.header-7 .header__hamburger {
  position: relative;
  z-index: 3;
  flex-shrink: 0 !important;
  margin-left: 0 !important;
}
.header-7 .header-right-icon .contacts-btn {
  white-space: nowrap !important;
  padding: 0 22px !important;
  height: 48px !important;
  line-height: 48px !important;
  font-size: 13px !important;
}
@media (max-width: 1399px) {
  .header-7 .header-right {
    gap: 20px !important;
  }
  .header-7 .main-menu ul li {
    margin-inline-end: 25px !important;
  }
}
@media (max-width: 1600px) {
  .header-7 .header-logo img {
    max-height: 88px !important;
    max-width: 240px !important;
  }
}
@media (max-width: 1199px) {
  .header-7 .mean__menu-wrapper {
    position: static !important;
    left: auto !important;
    transform: none !important;
    max-width: none;
  }
}
.header-logo::after,
.offcanvas__logo a::after {
  content: none !important;
  display: none !important;
}

/* Faster animations */
[data-wow-delay] {
  --wow-delay-cap: 0.25s;
}
[data-wow-delay=".3s"],
[data-wow-delay=".4s"],
[data-wow-delay=".5s"],
[data-wow-delay=".6s"],
[data-wow-delay=".7s"],
[data-wow-delay=".8s"],
[data-wow-delay=".9s"],
[data-wow-delay="1s"],
[data-wow-delay="1.2s"] {
  animation-delay: 0.15s !important;
}
.animated {
  animation-duration: 0.55s !important;
}
.float-bob-x,
.float-bob-y {
  animation-duration: 2.4s !important;
}
.wow {
  visibility: visible;
}

/* About image reveals: play once, then lock visible end state */
.about-section-7 .xcm-about-shot.img-custom-anim-left,
.about-section-7 .xcm-about-shot.img-custom-anim-right {
  animation-iteration-count: 1 !important;
  animation-fill-mode: forwards !important;
}
.about-section-7 .xcm-about-shot.xcm-about-settled {
  opacity: 1 !important;
  clip-path: none !important;
  transform: none !important;
  animation: none !important;
}

/* Quote CTA: transparent header outline, text centered */
.header-7 .header-right-icon .contacts-btn {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 60px !important;
  line-height: 1 !important;
  padding: 0 42px !important;
  background: transparent !important;
  background-image: none !important;
  color: #fff !important;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  animation: none !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  overflow: visible;
  z-index: 1;
  text-align: center !important;
}
.header-7 .header-right-icon .contacts-btn::after {
  display: none !important;
  content: none !important;
}
.header-7 .header-right-icon .contacts-btn:hover {
  background-color: var(--xcm-brown) !important;
  border-color: var(--xcm-brown) !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
  animation: none !important;
}

/* Yellow CTA for explicit quote links (not header contacts-btn) */
a.xcm-quote-cta:not(.contacts-btn) {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 12px 22px !important;
  background: linear-gradient(135deg, var(--xcm-yellow) 0%, #e8b40f 100%) !important;
  color: var(--xcm-dark) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(var(--xcm-yellow-rgb), 0.35);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
a.xcm-quote-cta:not(.contacts-btn):hover {
  transform: translateY(-2px) scale(1.03);
  color: var(--xcm-dark) !important;
}

.header-2 .contact-btn {
  background: var(--xcm-brown) !important;
  color: #fff !important;
  border: none !important;
  animation: none !important;
  box-shadow: none !important;
  padding: 12px 22px !important;
}
.header-2 .contact-btn::after {
  display: none !important;
}

/* Inner pages (header-2): shorter mobile top bar — home keeps header-7 sizing */
@media (max-width: 1199px) {
  #header-sticky.header-2 {
    position: sticky;
    top: 0;
    z-index: 10040;
  }
  #header-sticky.header-2 .header-main {
    min-height: 52px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    gap: 8px;
  }
  #header-sticky.header-2 .header-logo {
    max-width: 140px;
  }
  #header-sticky.header-2 .header-logo img {
    max-height: 40px !important;
    max-width: 136px !important;
    min-height: 0 !important;
    width: auto !important;
  }
  #header-sticky.header-2 .header-right {
    gap: 8px !important;
    align-items: center !important;
  }
  #header-sticky.header-2 .header-right-icon {
    gap: 8px !important;
  }
  #header-sticky.header-2 .header__hamburger .contact-btn,
  #header-sticky.header-2 .contact-btn.xcm-quote-cta {
    padding: 0 12px !important;
    height: 34px !important;
    min-height: 34px !important;
    line-height: 34px !important;
    font-size: 10px !important;
    letter-spacing: 0.03em;
  }
  #header-sticky.header-2 .header-bar {
    transform: scale(0.88);
    transform-origin: center right;
  }
  #header-sticky.header-2 .header-bar span {
    margin: 3px 0 !important;
  }
}
@media (max-width: 575px) {
  #header-sticky.header-2 .header-main {
    min-height: 48px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  #header-sticky.header-2 .header-logo img {
    max-height: 36px !important;
    max-width: 120px !important;
  }
  #header-sticky.header-2 .header__hamburger .contact-btn,
  #header-sticky.header-2 .contact-btn.xcm-quote-cta {
    padding: 0 10px !important;
    height: 32px !important;
    min-height: 32px !important;
    line-height: 32px !important;
    font-size: 9.5px !important;
  }
  #header-sticky.header-2 .header-right-icon .main-header__search {
    font-size: 15px;
  }
}

/* Project / card hover: enlarge zoom (kills BuildNow wipe that hid single imgs) */
.project-box-area-style-7 .project-thumb,
.project-box-items-style-2 .project-image,
.service-card-items-7 .service-thumb,
.news-card-item-style-7 .news-image,
.gallery-box,
.gallery-box .gallery-image,
.project-box-items .project-image {
  overflow: hidden;
  position: relative;
}
/* Template wipe sets first-child to opacity:0 + absolute; reset EVERY image */
.project-box-area-style-7 .project-thumb img,
.project-box-area-style-7 .project-thumb img:first-child,
.project-box-area-style-7 .project-thumb img:nth-child(2),
.project-box-area-style-7 .project-thumb img:only-child,
.project-box-items-style-2 .project-image img,
.project-box-items-style-2 .project-image img:first-child,
.project-box-items-style-2 .project-image img:nth-child(2),
.service-card-items-7 .service-thumb img,
.news-card-item-style-7 .news-image img,
.news-card-item-style-7 .news-image .hover-img,
.gallery-box img,
.project-box-items .project-image img {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
  transform: scale(1) !important;
  -webkit-transform: scale(1) !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform;
}
/* Dual-image wipe: hide phantom duplicate if present */
.project-box-items-style-2 .project-image img:first-child:not(:only-child),
.project-box-area-style-7 .project-thumb img:first-child:not(:only-child),
.news-card-item-style-7 .news-image .hover-img:first-child:not(:only-child) {
  display: none !important;
}
@media (hover: hover) and (pointer: fine) {
  .project-box-area-style-7:hover .project-thumb img,
  .project-box-area-style-7:hover .project-thumb img:first-child,
  .project-box-area-style-7:hover .project-thumb img:only-child,
  .project-box-items-style-2:hover .project-image img,
  .service-card-items-7:hover .service-thumb img,
  .news-card-item-style-7:hover .news-image img,
  .news-card-item-style-7:hover .news-image .hover-img,
  .gallery-box:hover img,
  .project-box-items:hover .project-image img {
    transform: scale(1.08) !important;
    -webkit-transform: scale(1.08) !important;
    opacity: 1 !important;
    filter: none !important;
  }
}

/* Compact projects section */
.xcm-projects-compact.section-padding {
  padding-top: 56px !important;
  padding-bottom: 72px !important;
  overflow: hidden;
}
.xcm-projects-compact .project-wrapper-7,
.xcm-projects-compact .project-wrapper-7.xcm-projects-bleed {
  max-width: none !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-inline: calc(50% - 50vw) !important;
  padding: 0 0 8px !important;
  overflow: visible;
}
.xcm-projects-compact .project-slider-7 {
  overflow: visible;
  padding-left: clamp(16px, 3vw, 40px);
  padding-right: clamp(16px, 3vw, 40px);
}
.xcm-projects-compact .project-slider-7 .swiper-slide {
  height: auto;
}
.xcm-projects-compact .project-box-area-style-7 {
  display: block !important;
  gap: 0 !important;
  margin-top: 12px !important;
  width: 100%;
}
.xcm-projects-compact .project-thumb {
  height: clamp(200px, 22vw, 260px) !important;
  border-radius: 10px;
  overflow: hidden;
  background: #ebe4da;
}
.xcm-projects-compact .project-thumb img,
.xcm-projects-compact .project-thumb img:first-child,
.xcm-projects-compact .project-thumb img:only-child {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  filter: none !important;
  position: relative !important;
  transform: scale(1) !important;
}
@media (hover: hover) and (pointer: fine) {
  .xcm-projects-compact .project-box-area-style-7:hover .project-thumb img {
    transform: scale(1.08) !important;
  }
}
.xcm-projects-compact .project-content {
  margin-top: 12px !important;
  text-align: left !important;
}
.xcm-projects-compact .project-content h2 {
  font-size: 42px !important;
  line-height: 1 !important;
  margin: 0 !important;
  color: #1a1614 !important;
  opacity: 1 !important;
  font-weight: 600 !important;
  -webkit-text-fill-color: #1a1614 !important;
}
.xcm-projects-compact .project-content .text-box {
  margin-top: 8px !important;
  height: 32px !important;
  line-height: 32px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
}
.xcm-projects-compact .project-content h3 {
  font-size: 18px !important;
  margin-top: 10px !important;
}
.xcm-projects-compact .project-content .location-area {
  margin-top: 10px !important;
  gap: 10px !important;
  justify-content: flex-start !important;
}

.xcm-project-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
}
.xcm-project-prev,
.xcm-project-next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(20, 17, 14, 0.22);
  background: #fff;
  color: #14110e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.xcm-project-prev:hover,
.xcm-project-next:hover {
  background: #8b6b4a;
  border-color: #8b6b4a;
  color: #fff;
  box-shadow: 0 8px 20px rgba(139, 107, 74, 0.28);
}
.xcm-project-prev:focus-visible,
.xcm-project-next:focus-visible {
  outline: 2px solid #f5c518;
  outline-offset: 3px;
}

/* Before / After compare — three side-by-side */
.xcm-ba-section {
  background: #f7f4ef;
  padding-top: 56px !important;
  padding-bottom: 72px !important;
}
.xcm-ba-section .section-title p {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
  color: #5c564c;
}
.xcm-ba-section .container {
  max-width: min(1320px, calc(100% - 32px));
}
.xcm-ba-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
  max-width: none;
  margin: 40px auto 0;
  padding: 0;
}
.xcm-ba {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.xcm-ba.is-inview {
  opacity: 1;
  transform: none;
}
.xcm-ba:nth-child(2) {
  transition-delay: 0.08s;
}
.xcm-ba:nth-child(3) {
  transition-delay: 0.16s;
}
.xcm-ba__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 5 / 4;
  min-height: clamp(250px, 24vw, 340px);
  max-height: none;
  border-radius: 14px;
  overflow: hidden;
  background: #1a1714;
  box-shadow: 0 16px 36px rgba(20, 17, 14, 0.18);
  touch-action: none;
  user-select: none;
  cursor: ew-resize;
}
.xcm-ba__after,
.xcm-ba__before {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.xcm-ba__after {
  position: absolute;
  inset: 0;
}
.xcm-ba__before-wrap {
  position: absolute;
  inset: 0 auto 0 0;
  overflow: hidden;
  z-index: 2;
  border-right: 2px solid rgba(255, 255, 255, 0.92);
}
.xcm-ba__before {
  position: absolute;
  left: 0;
  top: 0;
  max-width: none;
  object-fit: cover;
  pointer-events: none;
}
.xcm-ba__handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 36px;
  margin-left: -18px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: ew-resize;
}
.xcm-ba__knob {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  color: #8b6b4a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.26);
  font-size: 0.8rem;
}
.xcm-ba__tag {
  position: absolute;
  bottom: 10px;
  z-index: 3;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(20, 17, 14, 0.72);
  backdrop-filter: blur(6px);
  pointer-events: none;
}
.xcm-ba__tag--before { left: 10px; }
.xcm-ba__tag--after { right: 10px; }
.xcm-ba__caption {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 16px 2px 0;
  text-align: center;
}
.xcm-ba__caption strong {
  font-size: 1.14rem;
  color: #14110e;
}
.xcm-ba__caption span {
  font-size: 0.94rem;
  color: #5c564c;
  line-height: 1.4;
}
.xcm-ba-nav {
  display: none !important;
}
@media (max-width: 991px) {
  .xcm-ba-grid {
    grid-template-columns: 1fr;
    max-width: 640px;
    gap: 28px;
  }
  .xcm-ba__frame {
    max-height: none;
    min-height: 280px;
  }
  .xcm-ba:nth-child(2),
  .xcm-ba:nth-child(3) {
    transition-delay: 0s;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .xcm-ba-grid {
    gap: 18px;
    max-width: none;
  }
  .xcm-ba__frame {
    max-height: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .xcm-ba {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
@media (max-width: 767px) {
  .xcm-projects-compact .project-thumb {
    height: 190px !important;
  }
  .xcm-ba__frame {
    aspect-ratio: 4 / 3;
  }
}

/* Particles */
.xcm-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.xcm-particles canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.about-section-7,
.news-section-7,
.faq-section,
.xcm-quote-hero,
.complet-feature-section-7 {
  position: relative;
  overflow: hidden;
}
.about-section-7 > *:not(.xcm-particles),
.news-section-7 > *:not(.xcm-particles),
.faq-section > *:not(.xcm-particles):not(.xcm-faq-watermark) {
  position: relative;
  z-index: 1;
}

/* About title: match template scale (no oversized clamp) */

/* Compact services */
.xcm-services-compact.section-padding,
.service-section-7.xcm-services-compact {
  padding-top: 96px !important;
  padding-bottom: 80px !important;
}
.service-section-7.xcm-services-compact .section-title-area {
  margin-bottom: 28px;
}
.xcm-services-compact .section-title h2 {
  font-size: clamp(2rem, 3vw, 3rem);
}
/* Equal-size service cards in STEP PROCESS slider */
.xcm-services-compact .service-slider-7 .swiper-wrapper {
  align-items: stretch;
}
.xcm-services-compact .service-slider-7 .swiper-slide {
  height: auto;
  display: flex;
}
.xcm-services-compact .service-card-items-7 {
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  height: 100%;
  background: #fff;
  overflow: hidden;
}
.xcm-services-compact .service-card-items-7 .service-thumb {
  position: relative !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  height: 200px !important;
  overflow: hidden !important;
  background: #ebe4da;
}
.xcm-services-compact .service-card-items-7 .service-thumb img {
  position: absolute !important;
  inset: 0 !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  max-width: none !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  -webkit-transform: none !important;
  z-index: 1 !important;
}
.xcm-services-compact .service-card-items-7 .service-thumb img:first-child,
.xcm-services-compact .service-card-items-7 .service-thumb img:nth-child(2) {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  -webkit-transform: none !important;
}
.xcm-services-compact .service-card-items-7 .service-thumb img:nth-child(2) {
  display: none !important;
}
.xcm-services-compact .service-card-items-7 .service-content {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 210px;
  padding-top: 36px !important;
}
.xcm-services-compact .service-card-items-7 .service-content h4 {
  min-height: 2.6em;
  margin-bottom: 10px !important;
}
.xcm-services-compact .service-card-items-7 .service-content p {
  flex: 1 1 auto;
  margin-bottom: 14px !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}
.xcm-services-compact .service-card-items-7 .service-content .link-btn {
  margin-top: auto !important;
}

/* Service cards: enlarge + icon shake (PC hover) / tap enlarge (mobile) */
.xcm-services-compact .service-slider-7 {
  overflow: visible;
  padding-bottom: 18px;
}
.xcm-services-compact .service-wrapper-7 {
  overflow: visible;
}
.xcm-services-compact .service-slider-7 .swiper-slide {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.xcm-services-compact .service-card-items-7 {
  transition:
    transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.5s ease,
    border-color 0.35s ease !important;
  border-bottom: 3px solid transparent;
  position: relative;
  z-index: 1;
}
.xcm-services-compact .service-card-items-7 .service-content .icon {
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  transform-origin: center center;
}
.xcm-services-compact .service-card-items-7.is-enlarged {
  transform: scale(1.06) !important;
  box-shadow: 0 28px 56px rgba(20, 17, 14, 0.22) !important;
  border-bottom-color: var(--xcm-brown, #8b6b4a) !important;
  z-index: 6;
}
.xcm-services-compact .service-card-items-7.is-enlarged .service-content .icon {
  transform: scale(1.14);
}
.xcm-services-compact .service-card-items-7.is-enlarged .service-content .icon img {
  animation: wobble 1.5s ease-in-out;
}
.xcm-services-compact .swiper-slide:has(.service-card-items-7.is-enlarged) {
  z-index: 6;
  transform: scale(1.04);
}

@media (hover: hover) and (pointer: fine) {
  .xcm-services-compact .service-card-items-7 {
    cursor: pointer;
  }
  .xcm-services-compact .service-slider-7:hover .swiper-slide:not(:hover) {
    transform: scale(0.94);
  }
  .xcm-services-compact .service-slider-7 .swiper-slide:hover {
    transform: scale(1.07);
    z-index: 5;
  }
  .xcm-services-compact .service-card-items-7:hover {
    transform: none !important;
    box-shadow: 0 28px 56px rgba(20, 17, 14, 0.22) !important;
    border-bottom: 3px solid var(--xcm-brown, #8b6b4a) !important;
    filter: none !important;
    z-index: 5;
  }
  .xcm-services-compact .service-card-items-7:hover .service-thumb img,
  .xcm-services-compact .service-card-items-7:hover .service-thumb img:first-child,
  .xcm-services-compact .service-card-items-7:hover .service-thumb img:nth-child(2) {
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }
  .xcm-services-compact .service-card-items-7:hover .service-content .icon {
    transform: scale(1.16);
  }
  .xcm-services-compact .service-card-items-7:hover .service-content .icon img {
    animation: wobble 1.5s ease-in-out;
  }
}

@media (hover: none), (pointer: coarse) {
  .xcm-services-compact .service-card-items-7 {
    cursor: default;
    -webkit-tap-highlight-color: transparent;
  }
}

@media (max-width: 767px) {
  .xcm-services-compact .service-card-items-7 .service-thumb {
    height: 180px !important;
  }
  .xcm-services-compact .service-card-items-7 .service-content {
    min-height: 190px;
  }
}
.xcm-service-nav-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
  position: relative;
  z-index: 2;
}
.xcm-services-compact .section-title-area {
  position: relative;
  align-items: flex-start;
}
.xcm-services-cue {
  position: absolute;
  top: -6px;
  right: clamp(0px, 2vw, 28px);
  width: min(210px, 24vw);
  z-index: 3;
  pointer-events: none;
  color: var(--xcm-yellow, #f5c518);
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.28));
  animation: xcmCueFloat 2.8s ease-in-out infinite;
}
.xcm-services-cue__art {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.xcm-services-cue__line1,
.xcm-services-cue__line2 {
  fill: currentColor;
  font-family: "Segoe Script", "Apple Chancery", "Snell Roundhand", "Brush Script MT", cursive;
  font-size: 34px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.xcm-services-cue__line2 {
  font-size: 40px;
  font-weight: 700;
}
.xcm-services-cue__stroke {
  fill: none;
  stroke: currentColor;
  stroke-width: 3.2;
  stroke-dasharray: 140;
  stroke-dashoffset: 140;
  animation: xcmCueDraw 1.4s cubic-bezier(0.16, 1, 0.3, 1) 0.25s forwards,
    xcmCuePulse 2.2s ease-in-out 1.6s infinite;
}
.xcm-services-cue__head {
  opacity: 0;
  transform-origin: 110px 145px;
  animation: xcmCueHeadIn 0.55s ease 1.15s forwards,
    xcmCueBob 2.2s ease-in-out 1.7s infinite;
}
@keyframes xcmCueFloat {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(6deg); }
  50% { transform: translate3d(0, 7px, 0) rotate(7deg); }
}
@keyframes xcmCueDraw {
  to { stroke-dashoffset: 0; }
}
@keyframes xcmCuePulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.82; }
}
@keyframes xcmCueHeadIn {
  from { opacity: 0; transform: translateY(-8px) scale(0.85); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes xcmCueBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}
@media (prefers-reduced-motion: reduce) {
  .xcm-services-cue,
  .xcm-services-cue__stroke,
  .xcm-services-cue__head {
    animation: none !important;
  }
  .xcm-services-cue__stroke { stroke-dashoffset: 0; }
  .xcm-services-cue__head { opacity: 1; }
  .xcm-services-cue { transform: rotate(6deg); }
}
@media (max-width: 1199px) {
  .xcm-services-cue {
    width: min(160px, 28vw);
    top: auto;
    bottom: -8px;
    right: 8px;
  }
}
@media (max-width: 767px) {
  .xcm-services-cue {
    display: none;
  }
}
.xcm-service-nav {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.xcm-service-prev,
.xcm-service-next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: transparent;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.xcm-service-prev:hover,
.xcm-service-next:hover {
  background: var(--xcm-yellow);
  border-color: var(--xcm-yellow);
  color: var(--xcm-dark);
}
.xcm-service-prev:focus-visible,
.xcm-service-next:focus-visible {
  outline: 2px solid var(--xcm-yellow);
  outline-offset: 3px;
}
@media (max-width: 991px) {
  .xcm-service-nav-wrap {
    align-items: flex-start;
    margin-top: 18px;
  }
}

/* Duplicate mobile top bar removed â€” template header-7 only */
.xcm-mobile-top {
  display: none !important;
}
@media (max-width: 1199px) {
  body { padding-top: 0 !important; }
  .header-7,
  .header-2,
  #header-sticky {
    top: 0 !important;
  }
}

/* Scroll progress + WhatsApp FAB */
.xcm-fab-stack {
  position: fixed;
  right: 18px;
  bottom: 22px;
  z-index: 10050;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.xcm-progress-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: none;
  background: var(--xcm-dark);
  color: #fff;
  display: grid;
  place-items: center;
  position: relative;
  box-shadow: 0 8px 24px rgba(0,0,0,.28);
  padding: 0;
}
.xcm-progress-btn svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.xcm-progress-btn .xcm-progress-ring {
  fill: none;
  stroke: rgba(255,255,255,.15);
  stroke-width: 3;
}
.xcm-progress-btn .xcm-progress-value {
  fill: none;
  stroke: var(--xcm-yellow);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 146;
  stroke-dashoffset: 146;
  transition: stroke-dashoffset 0.15s linear;
}
.xcm-progress-btn i {
  position: relative;
  z-index: 1;
  font-size: 14px;
}
.xcm-wa-fab {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: none;
  background: #25D366;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 26px;
  box-shadow: 0 10px 28px rgba(37, 211, 102, 0.45);
  transition: transform 0.2s ease;
}
.xcm-wa-fab:hover {
  transform: scale(1.08);
  color: #fff;
}

/* WhatsApp sheet */
.xcm-wa-sheet {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: none;
  align-items: flex-end;
  justify-content: center;
  background: rgba(20, 17, 14, 0.55);
  padding: 16px;
}
.xcm-wa-sheet.is-open { display: flex; }
.xcm-wa-sheet__panel {
  width: min(420px, 100%);
  background: var(--xcm-cream);
  color: var(--xcm-dark);
  border-radius: 16px 16px 12px 12px;
  padding: 22px 20px 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,.35);
}
.xcm-wa-sheet__panel h3 {
  font-size: 1.25rem;
  margin-bottom: 6px;
}
.xcm-wa-sheet__panel p {
  font-size: 0.92rem;
  margin-bottom: 14px;
  opacity: 0.85;
}
.xcm-wa-sheet__panel label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 4px;
}
.xcm-wa-sheet__panel input,
.xcm-wa-sheet__panel textarea {
  width: 100%;
  border: 1px solid rgba(139, 107, 74, 0.35);
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 12px;
  background: #fff;
  color: var(--xcm-dark);
}
.xcm-wa-sheet__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.xcm-wa-sheet__actions button {
  flex: 1;
  min-width: 120px;
  border: none;
  border-radius: 8px;
  padding: 12px 14px;
  font-weight: 700;
}
.xcm-wa-sheet__send {
  background: #25D366;
  color: #fff;
}
.xcm-wa-sheet__cancel {
  background: transparent;
  border: 1px solid rgba(20,17,14,.25) !important;
  color: var(--xcm-dark);
}

/* Talk to XDM chooser (WhatsApp / Instagram / Contact) */
.xcm-talk {
  position: fixed;
  inset: 0;
  z-index: 10080;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.xcm-talk.is-open { display: flex; }
.xcm-talk[hidden] { display: none !important; }
.xcm-talk__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 17, 14, 0.62);
  border: 0;
  cursor: pointer !important;
}
.xcm-talk__panel {
  position: relative;
  z-index: 1;
  width: min(440px, 100%);
  max-height: min(90vh, 720px);
  overflow: auto;
  background: #faf7f2;
  color: #14110e;
  border-radius: 16px;
  padding: 24px 22px 20px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}
.xcm-talk__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #14110e;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer !important;
}
.xcm-talk__view { display: none; }
.xcm-talk__view.is-active { display: block; }
.xcm-talk__panel h3 {
  font-size: 1.35rem;
  margin: 0 0 8px;
  padding-right: 28px;
  color: #14110e;
}
.xcm-talk__panel p {
  margin: 0 0 16px;
  color: #5c534a;
  font-size: 0.92rem;
  line-height: 1.45;
}
.xcm-talk__channels {
  display: grid;
  gap: 10px;
}
.xcm-talk__channel {
  display: grid;
  grid-template-columns: 36px 1fr;
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 2px;
  align-items: center;
  text-align: left;
  width: 100%;
  border: 1px solid rgba(20, 17, 14, 0.1);
  border-radius: 12px;
  background: #fff;
  padding: 14px 14px;
  cursor: pointer !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.xcm-talk__channel i {
  grid-row: 1 / span 2;
  font-size: 1.35rem;
  color: #8b6b4a;
}
.xcm-talk__channel[data-go="whatsapp"] i { color: #25d366; }
.xcm-talk__channel[data-go="instagram"] i { color: #c13584; }
.xcm-talk__channel span {
  grid-column: 2;
  font-weight: 700;
  color: #14110e;
  font-size: 0.98rem;
}
.xcm-talk__channel small {
  grid-column: 2;
  color: #5c534a;
  font-size: 0.8rem;
}
.xcm-talk__channel:hover {
  border-color: rgba(139, 107, 74, 0.45);
  box-shadow: 0 8px 20px rgba(20, 17, 14, 0.08);
  transform: translateY(-1px);
}
.xcm-talk__back {
  border: 0;
  background: transparent;
  color: #8b6b4a;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0;
  margin: 0 0 12px;
  cursor: pointer !important;
}
.xcm-talk__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.xcm-talk__chip {
  border: 1px solid rgba(20, 17, 14, 0.12);
  background: #fff;
  color: #14110e;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer !important;
}
.xcm-talk__chip.is-active,
.xcm-talk__chip:hover {
  background: #8b6b4a;
  border-color: #8b6b4a;
  color: #fff;
}
.xcm-talk__label {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: 6px;
  color: #14110e;
}
.xcm-talk textarea {
  width: 100%;
  border: 1px solid rgba(139, 107, 74, 0.35);
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 14px;
  background: #fff;
  color: #14110e;
  resize: vertical;
  min-height: 110px;
}
.xcm-talk__send {
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 14px 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  background: #25d366;
  color: #fff;
  cursor: pointer !important;
}
.xcm-talk__send.is-ig {
  background: #8b6b4a;
}
.xcm-talk__send:hover {
  filter: brightness(1.05);
}
.xcm-talk__ig {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(20, 17, 14, 0.45);
  border-radius: 16px;
}
.xcm-talk__ig[hidden] { display: none !important; }
.xcm-talk__ig-panel {
  width: min(320px, 100%);
  background: #fff;
  border-radius: 14px;
  padding: 22px 18px 18px;
  text-align: center;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}
.xcm-talk__ig-badge {
  width: 42px;
  height: 42px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 700;
}
.xcm-talk__ig-panel h3 {
  margin: 0 0 8px;
  padding: 0;
  font-size: 1.15rem;
  color: #14110e;
}
.xcm-talk__ig-body,
.xcm-talk__ig-status {
  color: #5c534a;
  font-size: 0.9rem;
  margin: 0 0 10px;
}
.xcm-talk__ig-loader {
  display: flex;
  justify-content: center;
  margin: 12px 0 16px;
}
.xcm-talk__ig-loader span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid rgba(139, 107, 74, 0.2);
  border-top-color: #8b6b4a;
  animation: xcmTalkSpin 0.8s linear infinite;
}
@keyframes xcmTalkSpin {
  to { transform: rotate(360deg); }
}
.xcm-talk__ig-ok {
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 12px 14px;
  font-weight: 700;
  background: #8b6b4a;
  color: #fff;
  cursor: pointer !important;
}
@media (prefers-reduced-motion: reduce) {
  .xcm-talk__ig-loader span { animation: none; }
  .xcm-talk__channel:hover { transform: none; }
}

/* Video lightbox */
.xcm-video-modal {
  position: fixed;
  inset: 0;
  z-index: 10070;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.88);
  padding: 20px;
}
.xcm-video-modal.is-open { display: flex; }
.xcm-video-modal__inner {
  position: relative;
  width: min(1100px, 96vw);
}
.xcm-video-modal video {
  width: 100%;
  max-height: 85vh;
  background: #000;
  border-radius: 8px;
}
.xcm-video-modal__close {
  position: absolute;
  top: -42px;
  right: 0;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--xcm-yellow);
  color: var(--xcm-dark);
  font-size: 22px;
  line-height: 1;
  font-weight: 700;
}

/* FAQ watermark */
.xcm-faq-watermark {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  z-index: 0;
  opacity: 0.06;
}
.xcm-faq-watermark img {
  max-width: min(420px, 55vw);
  width: 100%;
  height: auto;
}

/* FAQ: light panel, readable heading, clear break from contact/footer */
.faq-section.xcm-faq-light {
  background: #f7f3ee !important;
  background-image: none !important;
  color: #14110e;
  margin-bottom: 0;
  border-top: 1px solid rgba(20, 17, 14, 0.06);
  border-bottom: 1px solid rgba(20, 17, 14, 0.06);
  z-index: 2 !important;
}
.faq-section.xcm-faq-light .xcm-particles,
.faq-section.xcm-faq-light .faq-shape {
  display: none !important;
}
.faq-section.xcm-faq-light .faq-content-style-3 .section-title .sub-title,
.faq-section.xcm-faq-light .sub-title.color {
  color: var(--xcm-brown, #8b5a2b) !important;
}
.faq-section.xcm-faq-light .faq-content-style-3 h2,
.faq-section.xcm-faq-light .faq-content-style-3 .tx-title,
.faq-section.xcm-faq-light .faq-content-style-3 .sec_title {
  color: #14110e !important;
  -webkit-text-fill-color: #14110e !important;
}
.faq-section.xcm-faq-light .faq-items-style-3 .accordion .accordion-item {
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.08);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
}
.faq-section.xcm-faq-light .faq-items-style-3 .accordion .accordion-item h2 button,
.faq-section.xcm-faq-light .faq-items-style-3 .accordion .accordion-button {
  color: #14110e !important;
  background: #fff !important;
}
.faq-section.xcm-faq-light .faq-items-style-3 .accordion .accordion-button:not(.collapsed) {
  color: #fff !important;
  background: #14110e !important;
}
.faq-section.xcm-faq-light .faq-items-style-3 .accordion .accordion-body,
.faq-section.xcm-faq-light .faq-items-style-3 .accordion .accordion-body p {
  color: #5c6672 !important;
  background: #fff;
}
.faq-section.xcm-faq-light .faq-items-style-3 .accordion .accordion-body a {
  color: var(--xcm-brown, #8b6b4a) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.faq-section.xcm-faq-light .faq-items-style-3 .accordion .accordion-body a:hover {
  color: #14110e !important;
}
.faq-section .circle,
.faq-section .circle-image,
.faq-section a.circle,
.faq-section a.circle * {
  cursor: pointer !important;
}
/* Keep the FAQ badge clear of the headline (brown disc overflows the image box) */
.faq-section .faq-content-style-3 .circle {
  display: inline-block;
  margin-top: 72px !important;
  margin-left: 15px !important;
  padding-top: 8px;
}
@media (min-width: 1400px) {
  .faq-section .faq-content-style-3 .circle {
    margin-top: 148px !important;
    margin-left: 115px !important;
  }
}
.xcm-faq-aside {
  margin-top: 22px;
  max-width: 28rem;
  color: var(--xcm-muted, #5c534a);
  font-size: 0.95rem;
  line-height: 1.55;
}
.xcm-faq-aside a {
  color: var(--xcm-brown, #8b6b4a);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* FAQ page: categorized long-form SEO lists */
.faq-section.xcm-faq-page {
  padding-top: clamp(36px, 4vw, 52px) !important;
  padding-bottom: clamp(48px, 6vw, 72px) !important;
}
.xcm-faq-page__intro {
  margin-bottom: 1.25rem !important;
}
.xcm-faq-page__intro .sub-title {
  margin-bottom: 8px !important;
}
.xcm-faq-page__intro .tx-title,
.xcm-faq-page__intro h1,
.faq-section.xcm-faq-page .xcm-faq-page__intro .sec_title,
.faq-section.xcm-faq-page .xcm-faq-page__intro .tz-itm-title {
  max-width: 34rem;
  margin: 0 auto !important;
  color: #14110e !important;
  -webkit-text-fill-color: #14110e !important;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}
.xcm-faq-page__lead {
  max-width: 36rem;
  margin: 10px auto 0;
  color: #5c534a;
  font-size: 0.95rem;
  line-height: 1.5;
}
.xcm-faq-page .xcm-faq-aside {
  margin-top: 10px;
  max-width: 34rem;
  font-size: 0.9rem;
}
.xcm-faq-catnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 auto 28px;
  max-width: 920px;
}
.xcm-faq-catnav__link {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.1);
  color: #14110e !important;
  text-decoration: none !important;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.xcm-faq-catnav__link:hover,
.xcm-faq-catnav__link:focus-visible {
  background: #fbf7f1;
  border-color: rgba(139, 107, 74, 0.45);
  box-shadow: 0 8px 18px rgba(20, 17, 14, 0.08);
  outline: none;
  color: #14110e !important;
}
.xcm-faq-cat {
  max-width: 860px;
  margin: 0 auto 40px;
  scroll-margin-top: 110px;
}
.xcm-faq-cat:last-child {
  margin-bottom: 0;
}
.xcm-faq-cat__head {
  margin-bottom: 14px;
}
.xcm-faq-cat__title {
  margin: 0 0 6px;
  color: #14110e;
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  font-weight: 700;
  line-height: 1.25;
}
.xcm-faq-cat__blurb {
  margin: 0;
  color: #5c534a;
  font-size: 0.95rem;
  line-height: 1.5;
}
.faq-section.xcm-faq-page .faq-items-style-3 .accordion .accordion-header {
  margin: 0;
}
.faq-section.xcm-faq-page .faq-items-style-3 .accordion .accordion-header .accordion-button {
  font-size: 1rem;
  font-weight: 600;
  text-align: left;
}

/* Quote page (full redesign) */
.xcm-quote-page {
  position: relative;
  background:
    radial-gradient(ellipse 80% 60% at 8% 12%, rgba(139, 107, 74, 0.14), transparent 55%),
    radial-gradient(ellipse 70% 50% at 92% 88%, rgba(245, 197, 24, 0.08), transparent 50%),
    linear-gradient(180deg, #faf6f0 0%, var(--xcm-cream) 45%, #efe6d8 100%);
  color: var(--xcm-ink);
  overflow: hidden;
}
.xcm-quote-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath fill='%238B6B4A' fill-opacity='0.04' d='M0 60h120M60 0v120'/%3E%3C/svg%3E");
  pointer-events: none;
  opacity: 0.9;
}
.xcm-quote-page > .container {
  position: relative;
  z-index: 1;
}
.xcm-quote-intro {
  padding: 8px 4px 0;
}
.xcm-quote-kicker {
  display: inline-block;
  color: var(--xcm-brown);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.xcm-quote-title {
  color: var(--xcm-dark);
  font-size: clamp(1.85rem, 3.4vw, 2.65rem);
  line-height: 1.15;
  margin: 0 0 10px;
  font-weight: 700;
}
.xcm-quote-brandline {
  color: var(--xcm-brown);
  font-size: 1.05rem;
  font-weight: 600;
  margin: 0 0 14px;
}
.xcm-quote-lead {
  color: var(--xcm-muted);
  font-size: 1.02rem;
  line-height: 1.65;
  max-width: 38ch;
  margin: 0 0 28px;
}
.xcm-quote-steps {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.xcm-quote-step {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(139, 107, 74, 0.16);
  border-radius: 12px;
  box-shadow: 0 8px 22px rgba(20, 17, 14, 0.04);
}
.xcm-quote-step__icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--xcm-brown);
  color: #fff;
  font-size: 1.05rem;
}
.xcm-quote-step__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 2px;
}
.xcm-quote-step__body strong {
  color: var(--xcm-dark);
  font-size: 0.98rem;
}
.xcm-quote-step__body span {
  color: var(--xcm-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}
.xcm-quote-reach {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.xcm-quote-reach__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--xcm-dark);
  color: #fff;
  text-decoration: none;
  transition: transform 0.25s ease, background 0.25s ease;
}
.xcm-quote-reach__item:hover {
  background: #1f1a15;
  color: #fff;
  transform: translateY(-2px);
}
.xcm-quote-reach__icon {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--xcm-yellow);
  color: var(--xcm-dark);
  font-size: 0.95rem;
}
.xcm-quote-reach__label {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}
.xcm-quote-reach__value {
  display: block;
  font-weight: 700;
  color: var(--xcm-yellow);
  font-size: 0.98rem;
}
.xcm-quote-form-wrap {
  background: #fff;
  color: var(--xcm-dark);
  border-radius: 16px;
  padding: 28px 26px 26px;
  border: 1px solid rgba(139, 107, 74, 0.18);
  box-shadow:
    0 28px 60px rgba(20, 17, 14, 0.1),
    0 2px 0 rgba(245, 197, 24, 0.35) inset;
  position: relative;
  z-index: 2;
}
.xcm-quote-form-head {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(139, 107, 74, 0.14);
}
.xcm-quote-form-title {
  margin: 0 0 6px;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--xcm-dark);
}
.xcm-quote-form-sub {
  margin: 0;
  color: var(--xcm-muted);
  font-size: 0.92rem;
  line-height: 1.5;
}
.xcm-quote-label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--xcm-ink);
  margin-bottom: 6px;
}
.xcm-quote-optional {
  font-weight: 500;
  color: var(--xcm-muted);
  text-transform: none;
}
.xcm-quote-form .xcm-quote-input,
.xcm-quote-form input.xcm-quote-input,
.xcm-quote-form select.xcm-quote-input,
.xcm-quote-form textarea.xcm-quote-input {
  width: 100%;
  border: 1px solid rgba(139, 107, 74, 0.28);
  border-radius: 10px;
  padding: 12px 14px;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #14110e !important;
  -webkit-text-fill-color: #14110e !important;
  caret-color: #14110e !important;
  font-size: 0.95rem;
  line-height: 1.35;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  appearance: none;
  -webkit-appearance: none;
}
.xcm-quote-form select.xcm-quote-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238B6B4A' d='M1.1 1.2 6 6.1l4.9-4.9 1.1 1.1L6 8.3.0 2.3z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-color: #ffffff !important;
  padding-right: 40px;
  color: #14110e !important;
}
.xcm-quote-form .xcm-quote-input:hover {
  border-color: rgba(139, 107, 74, 0.45);
}
.xcm-quote-form .xcm-quote-input:focus {
  outline: none;
  border-color: var(--xcm-brown);
  background: #fff !important;
  color: #14110e !important;
  -webkit-text-fill-color: #14110e !important;
  box-shadow: 0 0 0 3px rgba(139, 107, 74, 0.18);
}
.xcm-quote-form .xcm-quote-input::placeholder {
  color: #6f675e !important;
  -webkit-text-fill-color: #6f675e !important;
  opacity: 1;
}
.xcm-quote-form .xcm-quote-input:-webkit-autofill,
.xcm-quote-form .xcm-quote-input:-webkit-autofill:hover,
.xcm-quote-form .xcm-quote-input:-webkit-autofill:focus {
  -webkit-text-fill-color: #14110e !important;
  box-shadow: 0 0 0 1000px #ffffff inset !important;
  transition: background-color 99999s ease-in-out 0s;
}
.xcm-quote-input--area {
  min-height: 118px;
  resize: vertical;
}
.xcm-quote-service-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 10px 14px;
  border: 1px solid rgba(139, 107, 74, 0.28);
  border-radius: 10px;
  background: #fff;
  color: #14110e;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.xcm-quote-service-trigger:hover,
.xcm-quote-service-trigger[aria-expanded="true"] {
  border-color: var(--xcm-brown);
  box-shadow: 0 0 0 3px rgba(139, 107, 74, 0.14);
}
.xcm-quote-service-trigger__thumb {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  background-color: #efe6d8;
}
.xcm-quote-service-trigger__meta {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.xcm-quote-service-trigger__title {
  font-weight: 700;
  font-size: 0.95rem;
  color: #14110e;
}
.xcm-quote-service-trigger__hint {
  font-size: 0.78rem;
  color: #6f675e;
}
.xcm-quote-service-trigger > i {
  color: var(--xcm-brown);
  transition: transform 0.2s ease;
}
.xcm-quote-service-trigger[aria-expanded="true"] > i {
  transform: rotate(180deg);
}
.xcm-quote-service-panel {
  margin-top: 4px;
  border: 1px solid rgba(139, 107, 74, 0.22);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(20, 17, 14, 0.12);
  overflow: hidden;
}
.xcm-quote-service-panel__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #f7f1e8;
  border-bottom: 1px solid rgba(139, 107, 74, 0.14);
}
.xcm-quote-service-panel__title {
  margin: 0;
  font-weight: 700;
  color: #14110e;
  font-size: 0.95rem;
}
.xcm-quote-service-panel__close {
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: rgba(139, 107, 74, 0.12);
  color: #14110e;
  cursor: pointer;
}
.xcm-quote-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  max-height: 420px;
  overflow: auto;
}
.xcm-quote-service-card {
  display: flex;
  flex-direction: column;
  text-align: left;
  border: 1px solid rgba(139, 107, 74, 0.18);
  border-radius: 12px;
  background: #fff;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  color: #14110e;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.xcm-quote-service-card:hover,
.xcm-quote-service-card.is-selected {
  border-color: var(--xcm-brown);
  box-shadow: 0 10px 22px rgba(139, 107, 74, 0.16);
  transform: translateY(-2px);
}
.xcm-quote-service-card img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  display: block;
}
.xcm-quote-service-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px 12px;
}
.xcm-quote-service-card__body strong {
  font-size: 0.92rem;
  color: #14110e;
}
.xcm-quote-service-card__body span {
  font-size: 0.78rem;
  line-height: 1.4;
  color: #5c534a;
}
@media (max-width: 575px) {
  .xcm-quote-service-grid {
    grid-template-columns: 1fr;
    max-height: 360px;
  }
}
.xcm-quote-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
}
.xcm-quote-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.xcm-quote-btn--wa {
  flex: 1 1 220px;
  background: var(--xcm-yellow);
  color: var(--xcm-dark);
  box-shadow: 0 10px 24px rgba(245, 197, 24, 0.35);
}
.xcm-quote-btn--wa:hover {
  background: #ffd84a;
  color: var(--xcm-dark);
  transform: translateY(-2px);
}
.xcm-quote-btn--call {
  flex: 0 1 auto;
  background: var(--xcm-brown);
  color: #fff;
}
.xcm-quote-btn--call:hover {
  background: var(--xcm-brown-light);
  color: #fff;
  transform: translateY(-2px);
}
.xcm-quote-fine {
  margin: 12px 0 0;
  font-size: 0.82rem;
  color: var(--xcm-muted);
}
.xcm-quote-hint {
  margin: 6px 0 0;
  font-size: 0.78rem;
  color: var(--xcm-muted);
  line-height: 1.4;
}
.xcm-quote-suggest {
  position: relative;
}
.xcm-quote-suggest__list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 40;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  max-height: 240px;
  overflow: auto;
  background: #fff;
  border: 1px solid rgba(139, 107, 74, 0.28);
  border-radius: 10px;
  box-shadow: 0 16px 36px rgba(20, 17, 14, 0.14);
}
.xcm-quote-suggest__item {
  padding: 10px 14px;
  font-size: 0.92rem;
  color: var(--xcm-dark);
  cursor: pointer;
}
.xcm-quote-suggest__item:hover,
.xcm-quote-suggest__item:focus {
  background: rgba(139, 107, 74, 0.1);
  outline: none;
}
.xcm-quote-input--date {
  min-height: 48px;
  color-scheme: light;
}
body.xcm-wa-draft-open {
  overflow: hidden;
}
.xcm-wa-draft[hidden] {
  display: none !important;
}
.xcm-wa-draft {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 18px;
}
.xcm-wa-draft__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 17, 14, 0.62);
}
.xcm-wa-draft__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 420px);
}
.xcm-wa-draft__phone {
  background: #0b141a;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.xcm-wa-draft__chrome {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 14px 12px;
  background: #1f2c34;
  color: #fff;
  position: relative;
}
.xcm-wa-draft__close {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
}
.xcm-wa-draft__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--xcm-brown);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.xcm-wa-draft__to {
  margin: 0;
  font-weight: 700;
  font-size: 0.98rem;
}
.xcm-wa-draft__status {
  margin: 2px 0 0;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.65);
}
.xcm-wa-draft__thread {
  padding: 16px 14px 12px;
  background:
    radial-gradient(circle at 20% 10%, rgba(139, 107, 74, 0.18), transparent 40%),
    #0b141a;
  min-height: 280px;
}
.xcm-wa-draft__hint {
  margin: 0 0 10px;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
}
.xcm-wa-draft__bubble {
  width: 100%;
  min-height: 220px;
  resize: vertical;
  border: none;
  border-radius: 12px 12px 4px 12px;
  padding: 14px 14px;
  background: #005c4b;
  color: #f7f7f7;
  font-size: 0.92rem;
  line-height: 1.5;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
}
.xcm-wa-draft__bubble:focus {
  outline: 2px solid var(--xcm-yellow);
  outline-offset: 2px;
}
.xcm-wa-draft__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 14px 16px;
  background: #1f2c34;
}
.xcm-wa-draft__actions .xcm-quote-btn {
  flex: 1 1 140px;
  min-height: 46px;
}
.xcm-sr-only,
.xcm-wa-draft .visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 991px) {
  .xcm-quote-page {
    padding-top: 48px;
    padding-bottom: 64px;
  }
  .xcm-quote-form-wrap {
    padding: 22px 18px 20px;
  }
  .xcm-quote-lead {
    max-width: none;
  }
}
/* Legacy quote hero (kept for any residual markup) */
.xcm-quote-hero {
  background: linear-gradient(160deg, var(--xcm-dark) 0%, #2a2118 55%, var(--xcm-brown) 140%);
  color: #fff;
  padding: 110px 0 70px;
}
.xcm-quote-hero h1,
.xcm-quote-hero .xcm-quote-title {
  color: #fff;
}
.xcm-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  align-items: center;
  justify-content: center;
  padding: 28px 0 10px;
  color: rgba(255,255,255,.9);
}
.xcm-trust-strip a {
  color: var(--xcm-yellow);
  font-weight: 600;
}
.xcm-process-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  margin-top: 28px;
}
.xcm-process-steps article {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(245,197,24,.2);
  border-radius: 10px;
  padding: 16px;
}
.xcm-process-steps strong {
  display: block;
  color: var(--xcm-yellow);
  margin-bottom: 6px;
}

/* Testimonials honesty page helpers */
.xcm-proof-card {
  background: var(--xcm-cream);
  border-radius: 12px;
  padding: 24px;
  height: 100%;
  border: 1px solid rgba(139,107,74,.18);
}
.xcm-proof-card h3 { margin-bottom: 10px; }
.xcm-stars-visual {
  color: var(--xcm-yellow);
  font-size: 1.35rem;
  letter-spacing: 2px;
  margin-bottom: 8px;
}
.xcm-google-find {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.08);
  color: var(--xcm-dark);
  font-weight: 600;
}
.xcm-google-find:hover { color: var(--xcm-brown); }

/* Legal pages */
.xcm-legal {
  padding: 80px 0 100px;
  background: #fff;
  color: var(--xcm-dark);
}
.xcm-legal h1 {
  margin-bottom: 18px;
}
.xcm-legal h2 {
  margin-top: 28px;
  margin-bottom: 10px;
  font-size: 1.35rem;
}
.xcm-legal p,
.xcm-legal li {
  line-height: 1.7;
  margin-bottom: 12px;
}

/* Footer polish (base colors; layout in footer block below) */
.footer-section-5 .payment-icons,
.footer-bottom-5 img[src*="group-shape"] {
  display: none !important;
}

/* Hero form select: match other fields + clear dropdown cue */
.hero-contact-form-box .form-clt--select {
  position: relative;
}
.hero-contact-form-box .form-clt--select::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
  opacity: 0.95;
  z-index: 3;
}
.hero-contact-form-box select,
.hero-contact-form-box select#project-type,
.hero-contact-form-box select#xcm-hero-focus,
.hero-contact-form-box select#xcm-hero-timeline,
.hero-contact-form-box select#xcm-hero-budget {
  width: 100%;
  line-height: 1.3;
  padding: 16px 48px 16px 18px !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.09) !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 0 !important;
}
.hero-contact-form-box select.is-empty,
.hero-contact-form-box select:invalid,
.hero-contact-form-box select option[value=""] {
  color: rgba(255, 255, 255, 0.92) !important;
}
.hero-contact-form-box select:focus {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
  box-shadow: none;
}
.hero-contact-form-box select option {
  color: #14110e;
  background: #fff;
}
.hero-contact-form-box .visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.hero-contact-form-box select#project-type:invalid,
.hero-contact-form-box select#project-type option[value=""] {
  color: #fff !important;
}
.hero-contact-form-box select#project-type:focus {
  border-color: #fff !important;
  background: rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25);
}
.hero-contact-form-box select#project-type option {
  color: #1a1a1a;
  background: #fff;
  font-weight: 500;
}

/* Hide default back-top when custom progress used */
body.xcm-ready #back-top {
  display: none !important;
}

/* Force accent remap from template orange */
:root { --theme: #8b6b4a !important; }
.bg-color, .theme-bg, .header-bg { background-color: #8b6b4a !important; }
.text-theme, .theme-color, i.text-theme { color: #8b6b4a !important; }
.theme-btn-main.style-2 .theme-btn { background: transparent !important; color: #fff !important; }
.theme-btn-main.style-2 { background-color: #8b6b4a !important; }
.theme-btn-main.style-2:hover { background-color: #f5c518 !important; }
.theme-btn-main.style-2:hover .theme-btn { background: transparent !important; color: #14110e !important; }
.preloader {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  place-content: center !important;
  background: #14110e !important;
  z-index: 999999 !important;
}
.preloader .spinner-wrap {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 180px !important;
  height: 180px !important;
  margin: 0 !important;
  transform: none !important;
  flex: none !important;
}
.preloader .spinner-wrap .preloader-logo {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  transform: none !important;
  margin: 0 !important;
  padding: 16% !important;
  box-sizing: border-box !important;
}
.preloader .preloader-logo img {
  max-height: 96px !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  display: block !important;
  filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.5));
}
/* Failsafe if JS hangs */
body.loaded .preloader,
.preloader.is-hidden {
  display: none !important;
}


/* ===== Homepage layout emergency fixes ===== */
/* Match BuildNow hero-7: content height (not 100vh), figure absolute bottom */
.hero-7 {
  position: relative !important;
  z-index: 1 !important; /* below following sections; template used 99 and stacked wrong */
  overflow: hidden !important;
  isolation: isolate;
  min-height: 0 !important;
}
.hero-7:not(.xcm-hero-fullscreen) {
  height: auto !important;
}
/* About: keep template sizing; only keep particle bg + pull text up */
.about-section-7 {
  overflow: hidden !important;
}
.about-section-7.section-padding {
  padding-top: 96px !important;
  padding-bottom: 100px !important;
}
.about-section-7 .about-wrapper-7 {
  margin-top: 48px !important;
}
.about-section-7 .about-wrapper-7 > .row {
  align-items: center !important; /* template default */
}
/* Template assets were near-square / landscape. Our replacements are tall portraits
   and were stretching this row ~900px, leaving a huge gap above the counters. */
.about-section-7 .about-left-items-7 > img {
  width: 100% !important;
  height: auto !important;
  max-height: 420px !important;
  aspect-ratio: 370 / 341;
  object-fit: cover;
  object-position: center;
}
.about-section-7 .about-right-image img {
  width: 100% !important;
  height: auto !important;
  max-height: 460px !important;
  aspect-ratio: 509 / 389;
  object-fit: cover;
  object-position: center;
}
.about-section-7 .about-bottom-area-7 {
  margin-top: -24px !important;
}
.about-section-7 .about-thumb-7 {
  margin-top: 0 !important;
}
.about-section-7 .about-thumb-7 img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  object-position: center;
}
.about-section-7 .about-middle-area .theme-btn-main {
  margin-top: 36px !important;
}
.about-left-items-7 {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate;
}
/* Restore BuildNow floor-plan thumb slot */
.about-left-items-7 .about-sm-thumb {
  position: absolute !important;
  top: -48px !important;
  bottom: auto !important;
  right: -130px !important;
  max-width: 282px !important;
  z-index: 2 !important;
  transform: none !important;
}
.about-left-items-7 .about-sm-thumb img {
  transform: translate(4px, -3px);
}
@media (max-width: 1199px) {
  .about-left-items-7 .about-sm-thumb {
    right: 20px !important;
  }
}
.hero-7 .row {
  position: relative;
  z-index: 7;
}
/* Foreground cutout removed â€” hero uses full-bleed construction video */
.hero-7 .hero-image {
  display: none !important;
}
.hero-7.xcm-hero-video {
  background-image: none !important;
  background-color: #120f0c !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
}
.hero-7.xcm-hero-fullscreen {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
  box-sizing: border-box !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: 100vh !important;
  height: 100dvh !important;
  padding:
    calc(96px + env(safe-area-inset-top, 0px))
    clamp(28px, 4.5vw, 64px)
    clamp(28px, 4vh, 48px) !important;
}
.xcm-hero-stage {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 480px);
  gap: clamp(48px, 6vw, 100px);
  align-items: center;
  width: 100%;
  max-width: 1680px;
  margin: 0 auto;
  flex: 0 1 auto;
}
.xcm-hero-copy {
  position: relative;
  z-index: 6;
  max-width: none;
  width: 100%;
  min-width: 0;
  justify-self: stretch;
  text-align: left;
  padding-right: clamp(8px, 1.5vw, 24px);
  padding-bottom: 0;
}
.xcm-hero-copy .hero-title-1 {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
}
.xcm-hero-kicker {
  margin: 0 0 14px;
  color: var(--xcm-yellow, #f5c518);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}
.xcm-hero-trust-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px 14px;
  margin-top: 22px;
}
.hero-7.xcm-hero-fullscreen .xcm-hero-site-status {
  position: relative;
  z-index: 6;
  width: 100%;
  max-width: 1560px;
  margin: 22px auto 0;
  text-align: left;
  letter-spacing: 0.14em;
}
.xcm-hero-video__media {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  z-index: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  background:
    #120f0c
    url("assets/video/hero-loop-poster.jpg")
    center center / cover no-repeat;
}
/* Local cropped hero loop — cover fill, top-weighted */
.xcm-hero-video__el {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 35% !important;
  pointer-events: none !important;
}
/* Legacy YouTube shell (unused when local video is primary) */
.xcm-hero-video__yt {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: max(100%, 177.78vh) !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}
.xcm-hero-video__yt iframe,
.xcm-hero-video__yt #xcm-hero-yt {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  pointer-events: none !important;
  max-width: none !important;
}
.xcm-hero-video__fallback {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  pointer-events: none !important;
}
.hero-7.xcm-hero-video::before {
  z-index: 2 !important;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(139, 90, 43, 0.16) 0%, transparent 52%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.42) 0%, rgba(12, 10, 8, 0.62) 48%, rgba(12, 10, 8, 0.78) 100%),
    rgba(10, 18, 0, 0.28) !important;
}
.hero-7.xcm-hero-video::after {
  z-index: 3 !important;
}
.hero-7.xcm-hero-video .hero-title-1,
.hero-7.xcm-hero-video .xcm-hero-seo,
.hero-7.xcm-hero-video .row {
  position: relative;
  z-index: 5;
}
@media (max-width: 1600px) {
  .hero-7 .hero-image {
    display: none !important;
  }
}
@media (max-width: 1399px) {
  .hero-7 .hero-image {
    display: none !important;
  }
}
.hero-7 .hero-title-1 {
  position: relative;
  z-index: 2 !important;
  pointer-events: none;
}
.hero-7 .hero-title-2 {
  position: relative;
  z-index: 5 !important;
}
.hero-7 .col-xl-4 {
  position: relative;
  z-index: 6;
}
.hero-7 .hero-contact-form-box {
  position: relative;
  z-index: 8;
}

.hero-7 [data-speed],
.contact-section-7 [data-speed],
.about-section-7 [data-speed],
[data-speed] {
  transform: none !important;
  will-change: auto !important;
}

.about-section-7,
.service-section-7,
.impacts-section-7,
.complet-feature-section-7,
.project-section-7,
.xcm-ba-section,
.contact-section-7,
.feature-impact-section,
.faq-section,
.news-section-7,
.testimonial-section-7,
.video-section {
  position: relative !important;
  z-index: 1 !important;
  clear: both;
  transform: none !important;
  isolation: isolate;
  overflow: hidden !important;
}

/* Testimonial attribution: never dump the full brand lockup here */
.testimonial-left-content-style-7 .info-item {
  align-items: center !important;
  gap: 16px !important;
  margin-top: 36px !important;
  max-width: 420px;
  overflow: visible;
}
.testimonial-left-content-style-7 .info-item > img {
  display: none !important;
}
.testimonial-left-content-style-7 .xcm-testimonial-mark {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #14110e;
  color: #f5c518;
  font-family: "Barlow Condensed", "Barlow", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  border: 1px solid rgba(20, 17, 14, 0.12);
}
.testimonial-left-content-style-7 .info-item .content {
  min-width: 0;
}
.testimonial-left-content-style-7 .info-item .content h6 {
  margin: 0 0 4px;
  color: #14110e;
  font-size: 1.05rem;
  font-weight: 700;
}
.testimonial-left-content-style-7 .info-item .content span {
  display: block;
  color: #5c6672 !important;
  font-size: 0.95rem !important;
  line-height: 1.35;
}
.testimonial-left-content-style-7 .xcm-testimonial-links a {
  color: #14110e;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}
.testimonial-left-content-style-7 .xcm-testimonial-links a:hover {
  color: var(--theme, #8b5a2b);
}
.xcm-trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}
.xcm-trust-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  margin: 0;
  padding: 9px 14px 9px 10px;
  border-radius: 999px;
  background: rgba(20, 17, 14, 0.06);
  border: 1px solid rgba(20, 17, 14, 0.12);
  color: #14110e !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition:
    background-color 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    transform 0.28s ease;
}
.xcm-trust-pill *,
.xcm-trust-pill:hover,
.xcm-trust-pill:focus-visible {
  cursor: pointer !important;
}
.xcm-trust-pill:hover,
.xcm-trust-pill:focus-visible {
  background: rgba(139, 107, 74, 0.14);
  border-color: rgba(139, 107, 74, 0.55);
  box-shadow:
    0 0 0 1px rgba(139, 107, 74, 0.2),
    0 10px 24px rgba(20, 17, 14, 0.1);
  transform: translateY(-1px);
  outline: none;
  color: #14110e !important;
}
.xcm-trust-pill__icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8b6b4a;
  font-size: 0.85rem;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.xcm-trust-pill__icon--ig {
  color: #c13584;
}
.xcm-trust-pill:hover .xcm-trust-pill__icon,
.xcm-trust-pill:focus-visible .xcm-trust-pill__icon {
  transform: scale(1.06);
  box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.28);
}
.xcm-trust-pill__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.15;
}
.xcm-trust-pill__label {
  font-size: 0.78rem;
  font-weight: 700;
  color: #14110e;
  white-space: nowrap;
}
.xcm-trust-pill__sub {
  font-size: 0.68rem;
  color: #5c534a;
  white-space: nowrap;
}
.xcm-trust-pill__cta {
  flex: 0 0 auto;
  color: #8b6b4a;
  font-size: 0.68rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
  transition: color 0.2s ease;
}
.xcm-trust-pill:hover .xcm-trust-pill__cta,
.xcm-trust-pill:focus-visible .xcm-trust-pill__cta {
  color: #14110e;
}
@media (prefers-reduced-motion: reduce) {
  .xcm-trust-pill,
  .xcm-trust-pill__icon {
    transition: none !important;
  }
  .xcm-trust-pill:hover,
  .xcm-trust-pill:focus-visible {
    transform: none;
  }
}
.xcm-honest-trust .xcm-trust-stars {
  font-size: 1.35rem;
  color: #f5c518;
  margin-bottom: 12px;
  line-height: 1;
}
.xcm-honest-trust {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  color: var(--xcm-ink, #2a241e);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(20, 17, 14, 0.08);
  box-shadow: 0 14px 32px rgba(20, 17, 14, 0.08);
}
.xcm-honest-trust__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #ebe4da;
}
.xcm-honest-trust__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}
.xcm-honest-trust__body {
  padding: 28px 28px 32px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  background: linear-gradient(180deg, #fff 0%, #faf7f2 100%);
}
.xcm-honest-trust h2 {
  font-size: clamp(1.55rem, 2vw, 2rem) !important;
  color: var(--xcm-ink, #2a241e) !important;
  margin: 0 0 12px !important;
  line-height: 1.2;
}
.xcm-honest-trust p {
  color: var(--xcm-muted, #5c534a) !important;
  margin: 0 0 20px !important;
  line-height: 1.55;
}
.xcm-honest-trust__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.xcm-honest-trust__links a {
  color: var(--xcm-brown, #8b6b4a) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}
.xcm-honest-trust__links a:hover {
  color: var(--xcm-ink, #2a241e) !important;
}
.xcm-testimonial-row {
  align-items: stretch;
}
.testimonial-section-7.xcm-testimonial-band {
  background:
    radial-gradient(ellipse 70% 55% at 12% 18%, rgba(245, 197, 24, 0.1), transparent 58%),
    radial-gradient(ellipse 55% 50% at 92% 78%, rgba(139, 107, 74, 0.1), transparent 55%),
    linear-gradient(180deg, #f7f4ef 0%, #f3eee6 48%, #f7f4ef 100%) !important;
  border-top: 1px solid rgba(20, 17, 14, 0.06);
  border-bottom: 1px solid rgba(20, 17, 14, 0.06);
}
.testimonial-section-7 .testimonial-left-content-style-7 {
  max-width: none;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 12px;
}
.testimonial-section-7 .testimonial-left-content-style-7 h4 {
  font-size: clamp(1.35rem, 2.1vw, 1.85rem) !important;
  line-height: 1.45 !important;
  color: #14110e !important;
}
.testimonial-section-7 .array-button,
.testimonial-section-7 .array-button.xcm-testimonial-array {
  display: grid !important;
  align-items: center;
  gap: 12px;
}
.testimonial-section-7 .array-button .array-prev,
.testimonial-section-7 .array-button .array-next,
.testimonial-section-7 .xcm-testimonial-prev,
.testimonial-section-7 .xcm-testimonial-next {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(139, 107, 74, 0.45);
  background: #fff;
  color: #8b6b4a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  line-height: 1;
  padding: 0;
}
.testimonial-section-7 .array-button .array-prev:hover,
.testimonial-section-7 .array-button .array-next:hover,
.testimonial-section-7 .xcm-testimonial-prev:hover,
.testimonial-section-7 .xcm-testimonial-next:hover {
  background: #8b6b4a;
  border-color: #8b6b4a;
  color: #fff;
  box-shadow: 0 8px 20px rgba(139, 107, 74, 0.28);
}
.xcm-testimonial-nav {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
}
@media (min-width: 1200px) {
  .xcm-testimonial-nav {
    display: none;
  }
}

/* Blog cards were colliding with the footer quote box (template -105px lift) */
.news-section-7.section-padding {
  padding-bottom: 200px !important;
}
.news-section-7 .row {
  margin-bottom: 24px;
  align-items: stretch;
}
.news-card-item-style-7 {
  margin-bottom: 20px;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.news-card-item-style-7 .news-image {
  aspect-ratio: 3 / 2;
  height: auto !important;
  max-height: none;
}
.news-card-item-style-7 .news-image .hover-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.news-card-item-style-7 .news-content {
  flex: 1;
}
.xcm-blog-more {
  margin-top: 12px;
}
.xcm-blog-more .theme-btn-main {
  cursor: pointer !important;
}
.footer-section-5 .footer-widget-items.footer-contact-form,
.footer-wrapper .footer-contact-form {
  margin-top: 0 !important;
}
@media (max-width: 1399px) {
  .footer-section-5 .footer-widget-items.footer-contact-form,
  .footer-wrapper .footer-contact-form {
    margin-top: 24px !important;
  }
  .news-section-7.section-padding {
    padding-bottom: 100px !important;
  }
}

/* Template used z-index 99 here and it painted over later sections */
.complet-feature-section-7 {
  z-index: 1 !important;
}

/* Feature cards are whole-card links */
a.complet-feature-box-items.xcm-feature-card {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
a.complet-feature-box-items.xcm-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(20, 17, 14, 0.16);
}
a.complet-feature-box-items.xcm-feature-card:focus-visible {
  outline: 2px solid #f5c518;
  outline-offset: 3px;
}
a.complet-feature-box-items.xcm-feature-card h3 {
  color: #14110e !important;
}
a.complet-feature-box-items.xcm-feature-card:hover h3 {
  color: #8b6b4a !important;
}

/* Who-we-are: keep photo beside copy, not over it; dark side stays readable */
.feature-impact-section {
  margin-top: 0 !important;
  z-index: 2 !important;
}
.feature-impact-wrapper {
  margin-top: 0 !important;
}
.feature-impact-left-style-1 {
  display: flex !important;
  align-items: stretch !important;
  gap: 18px !important;
  height: auto !important;
  min-height: 520px !important;
  padding: 36px 22px 36px 36px !important;
  overflow: hidden !important;
  isolation: isolate;
}
.feature-impact-left-style-1 .section-title {
  position: relative;
  z-index: 2;
  flex: 1 1 54%;
  max-width: 420px;
  padding-right: 8px;
}
.feature-impact-left-style-1 .section-title h2 {
  font-size: clamp(1.55rem, 2.15vw, 2.3rem) !important;
  line-height: 1.2 !important;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.feature-impact-left-style-1 .theme-btn-main {
  margin-top: 28px !important;
}
.feature-impact-left-style-1 .build-shape {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  top: auto !important;
  left: auto !important;
  flex: 1 1 46%;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  height: auto !important;
  align-self: stretch;
  border-radius: 8px;
  overflow: hidden;
  z-index: 1 !important;
  pointer-events: none;
  min-height: 380px;
}
.feature-impact-left-style-1 .build-shape img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 380px !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 18% !important;
}

/* Who-we-are panel: warm brown left, light right (less heavy black) */
.feature-impact-wrapper.bg-color-3 {
  background: linear-gradient(90deg, #7a6044 0%, #7a6044 48%, #f7f4ef 48%, #f7f4ef 100%) !important;
}
.feature-impact-content-style-1 {
  color: var(--xcm-ink, #2a241e) !important;
}
.feature-impact-content-style-1 h4 {
  color: var(--xcm-ink, #2a241e) !important;
}
.feature-impact-content-style-1 .counter-items {
  margin-top: 36px !important;
}
.feature-impact-content-style-1 .counter-items .cont-item h6 {
  color: var(--xcm-muted, #5c534a) !important;
  border-bottom-color: rgba(20, 17, 14, 0.14) !important;
}
.feature-impact-content-style-1 .counter-items .cont-item .icon-item h2,
.feature-impact-content-style-1 .counter-items .cont-item .icon-item h2 .count {
  color: var(--xcm-ink, #2a241e) !important;
}
.feature-impact-content-style-1 .xcm-impact-trust-links .xcm-trust-stars {
  font-size: 1.35rem;
  color: #f5c518;
}
.feature-impact-content-style-1 .xcm-google-link {
  color: var(--xcm-brown, #8b6b4a) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
}
.feature-impact-content-style-1 .xcm-google-link:hover {
  color: var(--xcm-ink, #2a241e) !important;
}
@media (max-width: 1199px) {
  .feature-impact-wrapper.bg-color-3 {
    background: #f7f4ef !important;
  }
  .feature-impact-left-style-1 {
    background: #7a6044 !important;
    border-radius: 10px;
  }
}
@media (max-width: 991px) {
  .feature-impact-left-style-1 {
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 28px 22px !important;
  }
  .feature-impact-left-style-1 .section-title {
    max-width: none;
  }
  .feature-impact-left-style-1 .build-shape {
    min-height: 280px;
    width: 100% !important;
  }
  .feature-impact-left-style-1 .build-shape img {
    min-height: 280px !important;
  }
}

/* Impacts left: real XDM trust panel (replaces empty Clutch graphic) */
.impact-wrapper-7 .impacts-left-items {
  margin-right: 24px !important;
}
@media (min-width: 1200px) {
  .impacts-section-7 .impact-wrapper-7 > .row {
    align-items: center;
  }
  .impacts-section-7 .impacts-right-items {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
    min-height: 100%;
    padding-top: 0;
    padding-bottom: 0;
  }
  .impacts-section-7 .impacts-right-items > .section-title,
  .impacts-section-7 .impacts-right-items > .impact-text,
  .impacts-section-7 .impacts-right-items > .row {
    width: 100%;
  }
  .impacts-section-7 .col-xl-8 {
    display: flex;
    align-items: center;
  }
  .impacts-section-7 .col-xl-8 > .impacts-right-items {
    width: 100%;
  }
}
.impact-wrapper-7 .impacts-right-items .theme-btn-main,
.impact-wrapper-7 .impacts-right-items a.theme-btn-main.style-2 {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  align-self: flex-start;
  margin-top: 30px;
}
.xcm-impacts-trust {
  background: #fff;
  color: var(--xcm-ink, #2a241e);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(20, 17, 14, 0.08);
  box-shadow: 0 14px 32px rgba(20, 17, 14, 0.08);
}
.xcm-impacts-trust__media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #ebe4da;
}
.xcm-impacts-trust__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
  transform: translate(0, 1px);
}
.xcm-impacts-trust__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(to top, rgba(250, 247, 242, 0.95), transparent);
  pointer-events: none;
}
.xcm-impacts-trust__body {
  padding: 22px 22px 26px;
  background: linear-gradient(180deg, #fff 0%, #faf7f2 100%);
}
.xcm-impacts-trust__eyebrow {
  margin: 0 0 6px;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--xcm-brown, #8b6b4a);
  font-weight: 600;
}
.xcm-impacts-trust__title {
  margin: 0 0 10px;
  color: var(--xcm-ink, #2a241e) !important;
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  line-height: 1.25;
  font-weight: 700;
}
.xcm-impacts-trust__copy {
  margin: 0 0 18px;
  color: var(--xcm-muted, #5c534a) !important;
  font-size: 0.95rem;
  line-height: 1.55;
}
.xcm-impacts-trust__links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 18px;
}
.xcm-impacts-trust__links a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--xcm-ink, #2a241e) !important;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
}
.xcm-impacts-trust__links a:hover {
  color: var(--xcm-brown, #8b6b4a) !important;
}
.xcm-impacts-trust__links i {
  width: 1.1em;
  text-align: center;
  color: var(--xcm-brown, #8b6b4a);
}
.xcm-impacts-trust__g {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.xcm-impacts-trust__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #8b6b4a;
  color: #fff !important;
  font-weight: 700;
  font-size: 0.88rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 18px;
  border-radius: 4px;
}
.xcm-impacts-trust__cta:hover {
  background: #f5c518;
  color: #14110e !important;
}
.xcm-impacts-trust__cta i {
  font-size: 0.75rem;
}
@media (max-width: 1199px) {
  .impact-wrapper-7 .impacts-left-items {
    margin-right: 0 !important;
    margin-bottom: 12px;
  }
  .xcm-impacts-trust__media {
    aspect-ratio: 16 / 10;
  }
}

.contact-section-7.xcm-contact {
  overflow: hidden;
  background: #f3ece4 !important;
  background-image: none !important;
}
.contact-section-7.xcm-contact .contact-wrapper-7 {
  margin: 0 !important;
  max-width: none !important;
}
.xcm-contact__row {
  align-items: stretch;
}
.xcm-contact__media {
  position: relative;
  height: 100%;
  min-height: 420px;
  border-radius: 12px;
  overflow: hidden;
  background: #e4d9cc;
  box-shadow: 0 16px 36px rgba(20, 17, 14, 0.08);
}
.xcm-contact__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.55s ease;
}
.xcm-contact__media:hover img {
  transform: scale(1.03);
}
.xcm-contact__media-card {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  padding: 16px 16px 14px;
  border-radius: 14px;
  background: rgba(255, 252, 247, 0.96);
  border: 1px solid rgba(20, 17, 14, 0.08);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(10px);
}
.xcm-contact__media-kicker {
  margin: 0 0 4px;
  color: #8b6b4a;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.xcm-contact__media-copy {
  margin: 0 0 12px;
  color: #3d3630;
  font-size: 0.92rem;
  line-height: 1.4;
}
.xcm-contact__media-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 0;
  border-radius: 999px;
  background: #25d366;
  color: #fff;
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer !important;
  box-shadow: 0 8px 18px rgba(37, 211, 102, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
.xcm-contact__media-cta:hover,
.xcm-contact__media-cta:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 12px 24px rgba(37, 211, 102, 0.4);
  outline: none;
}
.xcm-contact__panel {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  border-radius: 12px;
  padding: 32px 32px 34px;
  box-shadow: 0 16px 36px rgba(20, 17, 14, 0.08);
  border: 1px solid rgba(20, 17, 14, 0.06);
}
.xcm-contact__panel .section-title {
  margin-bottom: 0;
}
.xcm-contact__panel .sub-title {
  color: var(--xcm-brown, #8b5a2b) !important;
}
.xcm-contact__panel h2,
.xcm-contact__panel .tx-title {
  color: #14110e !important;
  margin-top: 10px;
  margin-bottom: 0;
  font-size: clamp(1.7rem, 2.4vw, 2.4rem) !important;
  line-height: 1.2 !important;
}
.xcm-contact__lead {
  margin: 10px 0 0;
  max-width: 36rem;
  color: #5c534a;
  font-size: 0.98rem;
  line-height: 1.5;
}
.xcm-contact-pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0 0;
}
.xcm-contact-pillar {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #faf7f3;
  border: 1px solid rgba(20, 17, 14, 0.1);
  color: #14110e !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}
.xcm-contact-pillar *,
.xcm-contact-pillar:hover,
.xcm-contact-pillar:focus-visible {
  cursor: pointer !important;
}
.xcm-contact-pillar:hover,
.xcm-contact-pillar:focus-visible {
  background: #fff;
  border-color: rgba(139, 107, 74, 0.45);
  box-shadow: 0 12px 26px rgba(20, 17, 14, 0.1);
  transform: translateY(-2px);
  outline: none;
  color: #14110e !important;
}
.xcm-contact-pillar--wa:hover,
.xcm-contact-pillar--wa:focus-visible {
  border-color: rgba(37, 211, 102, 0.55);
  box-shadow: 0 12px 26px rgba(37, 211, 102, 0.18);
}
.xcm-contact-pillar--ig:hover,
.xcm-contact-pillar--ig:focus-visible {
  border-color: rgba(193, 53, 132, 0.45);
  box-shadow: 0 12px 26px rgba(193, 53, 132, 0.14);
}
.xcm-contact-pillar__icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8b6b4a;
  font-size: 0.95rem;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.xcm-contact-pillar--wa .xcm-contact-pillar__icon {
  color: #128c7e;
}
.xcm-contact-pillar--ig .xcm-contact-pillar__icon {
  color: #c13584;
}
.xcm-contact-pillar:hover .xcm-contact-pillar__icon,
.xcm-contact-pillar:focus-visible .xcm-contact-pillar__icon {
  transform: scale(1.06);
  box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.28);
}
.xcm-contact-pillar__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.15;
  flex: 1 1 auto;
}
.xcm-contact-pillar__label {
  font-size: 0.86rem;
  font-weight: 700;
  color: #14110e;
}
.xcm-contact-pillar__sub {
  font-size: 0.72rem;
  color: #5c534a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.xcm-contact-pillar__cta {
  flex: 0 0 auto;
  color: #8b6b4a;
  font-size: 0.72rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
.xcm-contact__form {
  margin-top: 24px;
}
.xcm-contact__form-label {
  margin: 0 0 8px;
  color: #14110e;
  font-size: 0.82rem;
  font-weight: 700;
}
.xcm-contact-intents {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}
.xcm-contact-intent {
  margin: 0;
  cursor: pointer !important;
}
.xcm-contact-intent input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.xcm-contact-intent__ui {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(20, 17, 14, 0.12);
  background: #faf7f3;
  color: #3d3630;
  font-size: 0.78rem;
  font-weight: 700;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.xcm-contact-intent:hover .xcm-contact-intent__ui {
  border-color: rgba(139, 107, 74, 0.45);
  background: #fff;
}
.xcm-contact-intent.is-active .xcm-contact-intent__ui,
.xcm-contact-intent:has(input:checked) .xcm-contact-intent__ui {
  background: #8b6b4a;
  border-color: #8b6b4a;
  color: #fff;
  box-shadow: 0 8px 18px rgba(139, 107, 74, 0.28);
}
.xcm-contact-starters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}
.xcm-contact-starter {
  appearance: none;
  border: 1px solid rgba(20, 17, 14, 0.12);
  background: #fff;
  color: #3d3630;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 0.74rem;
  font-weight: 600;
  cursor: pointer !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.xcm-contact-starter:hover,
.xcm-contact-starter:focus-visible,
.xcm-contact-starter.is-active {
  background: #f7f1e8;
  border-color: rgba(139, 107, 74, 0.45);
  outline: none;
  transform: translateY(-1px);
}
.xcm-contact__form .form-clt input,
.xcm-contact__form .form-clt textarea {
  width: 100%;
  border: 1px solid #e3d9ce !important;
  outline: none;
  background: #faf7f3 !important;
  color: #14110e !important;
  font-weight: 500;
  padding: 14px 16px;
  border-radius: 8px;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.xcm-contact__form .form-clt input::placeholder,
.xcm-contact__form .form-clt textarea::placeholder {
  color: #8b94a3 !important;
}
.xcm-contact__form .form-clt textarea {
  min-height: 110px;
  resize: vertical;
}
.xcm-contact__form .form-clt input:focus,
.xcm-contact__form .form-clt textarea:focus {
  border-color: var(--xcm-brown, #8b5a2b) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(139, 107, 74, 0.12);
}
.xcm-contact__submit-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}
.xcm-contact__submit .theme-btn {
  letter-spacing: 0.02em;
}
.xcm-contact__wa-alt {
  appearance: none;
  border: 0;
  background: transparent;
  color: #128c7e;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer !important;
  padding: 0;
}
.xcm-contact__wa-alt:hover,
.xcm-contact__wa-alt:focus-visible {
  color: #0b6b52;
  outline: none;
}
.xcm-contact__trust {
  margin: 12px 0 0;
  color: #5c534a;
  font-size: 0.78rem;
  line-height: 1.4;
}
.xcm-contact__form.is-pulse {
  animation: xcmContactPulse 0.55s ease;
}
@keyframes xcmContactPulse {
  0% { box-shadow: none; }
  40% { box-shadow: 0 0 0 4px rgba(139, 107, 74, 0.18); }
  100% { box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  .xcm-contact__media img,
  .xcm-contact-pillar,
  .xcm-contact__media-cta,
  .xcm-contact__form.is-pulse {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}
@media (max-width: 991px) {
  .xcm-contact__media {
    min-height: 280px;
    max-height: 360px;
  }
  .xcm-contact__panel {
    padding: 28px 22px 32px;
  }
  .xcm-contact-pillars {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .xcm-contact-pillars {
    grid-template-columns: 1fr 1fr;
  }
}

#smooth-wrapper,
#smooth-content {
  overflow: visible !important;
  height: auto !important;
  transform: none !important;
}


.xcm-map-note {
  padding: 2rem;
  background: #1c1814;
  color: #f7f1e8;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.xcm-map-note a { color: #f5c518; }

/* Footer: construction photo bg + spread columns + readable legal bar */
.footer-section-5 {
  position: relative;
  background-color: #14110e !important;
  overflow: hidden;
}
.footer-section-5.bg-cover {
  background-image: url("../img/home-7/complet-feature-bg.jpg") !important;
  background-size: cover !important;
  background-position: center 40% !important;
}
.footer-section-5::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(20, 17, 14, 0.82) 0%, rgba(20, 17, 14, 0.92) 55%, rgba(20, 17, 14, 0.96) 100%),
    rgba(20, 17, 14, 0.55);
  z-index: 0;
  pointer-events: none;
}
.footer-section-5 .container,
.footer-section-5 .footer-bottom-5 {
  position: relative;
  z-index: 2;
}
.footer-section-5 > .container {
  max-width: 1320px !important;
  padding-left: clamp(1rem, 3vw, 2rem) !important;
  padding-right: clamp(1rem, 3vw, 2rem) !important;
}
/* No scroll/load-in animation on footer columns */
.footer-section-5 .wow {
  visibility: visible !important;
  animation: none !important;
  animation-name: none !important;
  -webkit-animation: none !important;
}
.footer-section-5 .footer-wrapper.style-3 {
  padding: 56px 0 40px !important;
}
.footer-section-5 .footer-wrapper.style-3 > .row.xcm-footer-grid,
.footer-section-5 .footer-wrapper.style-3 > .row {
  --bs-gutter-x: clamp(1.25rem, 2.4vw, 2.75rem);
  --bs-gutter-y: 1.25rem;
  align-items: flex-start;
  justify-content: space-between;
  overflow: visible;
}
@media (min-width: 1200px) {
  .footer-section-5 .xcm-footer-grid {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
  }
  .footer-section-5 .xcm-footer-grid > [class*="col-xl"] {
    flex: 1 1 0;
    max-width: none;
    width: auto;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }
  .footer-section-5 .xcm-footer-grid > [class*="col-xl"]:first-child,
  .footer-section-5 .xcm-footer-grid > [data-editor-id="xcm.home.footer.col.brand"],
  .footer-section-5 .xcm-footer-grid > [data-editor-id="xcm.home.footer.col.newsletter"] {
    flex: 1.15 1 0;
  }
}
.footer-section-5 .xcm-footer-grid > [class*="col-"],
.footer-section-5 .single-footer-widget,
.footer-section-5 .footer-widget-items {
  position: relative;
  min-height: 1px;
}
.footer-section-5 .xcm-footer-newsletter {
  width: 100%;
}
.footer-section-5 .xcm-footer-newsletter__note {
  margin: 10px 0 0 !important;
  color: #3d3630 !important;
  font-size: 0.82rem !important;
  font-weight: 600;
  line-height: 1.35 !important;
}
.footer-section-5 .xcm-footer-newsletter.is-success .xcm-footer-newsletter__note {
  color: #1f6b3a !important;
}
.footer-section-5 .single-footer-widget .widget-title {
  margin-bottom: 14px !important;
}
.footer-section-5 .single-footer-widget .footer-contact p {
  margin-bottom: 0.55rem !important;
}
.footer-section-5 .single-footer-widget .footer-contact h5 {
  margin: 0.65rem 0 0.4rem !important;
}
.footer-section-5 .single-footer-widget .list-area li:not(:last-child) {
  margin-bottom: 8px !important;
}
.footer-section-5 .single-footer-widget .footer-contact .social-list-3 {
  margin-top: 8px !important;
  gap: 14px !important;
}
.footer-section-5 .footer-widget-items.footer-contact-form h3 {
  margin-bottom: 0.4rem !important;
  font-size: 1.2rem !important;
}
.footer-section-5 .footer-widget-items.footer-contact-form p {
  margin-bottom: 0.75rem !important;
  font-size: 0.92rem !important;
  line-height: 1.4 !important;
}
.footer-section-5 .right-shape22,
.footer-section-5 .left-shapess {
  display: block !important;
  opacity: 0.55 !important;
  filter: none !important;
  pointer-events: none;
  z-index: 1;
  max-width: none !important;
}
.footer-section-5 .right-shape22 {
  position: absolute !important;
  right: 24px !important;
  bottom: 0 !important;
  top: auto !important;
  left: auto !important;
  width: auto;
  max-width: min(14vw, 180px);
}
.footer-section-5 .left-shapess {
  position: absolute !important;
  left: 24px !important;
  top: 0 !important;
  bottom: auto !important;
  right: auto !important;
  width: auto;
  max-width: min(12vw, 160px);
  opacity: 0.5 !important;
}
.footer-section-5 .right-shape22 img,
.footer-section-5 .left-shapess img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}
.footer-section-5 .footer-shape,
.footer-section-5 .footer-shape-2 {
  opacity: 0.28 !important;
  pointer-events: none;
}
.footer-section-5 .footer-contact p,
.footer-section-5 .list-area a,
.footer-section-5 .widget-title h4,
.footer-section-5 h5 {
  color: #f2ebe3 !important;
}
.footer-section-5 .list-area a:hover {
  color: #f5c518 !important;
}
.footer-section-5 .footer-contact a {
  color: #f5c518 !important;
}
.footer-section-5 .widget-title img {
  max-height: 72px !important;
  max-width: 220px !important;
  width: auto !important;
  height: auto !important;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.5));
}
.footer-section-5 .footer-widget-items.footer-contact-form {
  background: rgba(255, 255, 255, 0.97) !important;
  color: #14110e !important;
  border-radius: 8px;
  padding: 22px 20px !important;
  height: auto;
}
.footer-section-5 .footer-widget-items.footer-contact-form h3,
.footer-section-5 .footer-widget-items.footer-contact-form p {
  color: #14110e !important;
}
.footer-bottom-5 {
  background-color: #f3ece4 !important;
  border-top: 1px solid rgba(20, 17, 14, 0.08);
  margin-top: 0;
  padding: 12px 0 !important;
  position: relative;
  z-index: 3;
}
.footer-bottom-5 .xcm-footer-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr);
  align-items: center;
  column-gap: clamp(1.5rem, 5vw, 4rem);
  row-gap: 12px;
  width: 100%;
}
.footer-bottom-5 .xcm-footer-copy {
  margin: 0;
  justify-self: start;
  color: #14110e !important;
  font-size: 0.95rem;
  font-weight: 500;
}
.footer-bottom-5 .xcm-footer-legal {
  justify-self: center;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 28px;
}
.footer-bottom-5 .xcm-footer-legal a {
  color: #14110e !important;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  opacity: 1;
}
.footer-bottom-5 .xcm-footer-legal a:hover {
  color: var(--xcm-brown, #8b5a2b) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-bottom-5 .xcm-footer-credit {
  margin: 0;
  justify-self: end;
  text-align: right;
  color: #14110e !important;
  font-size: 0.95rem;
}
.footer-bottom-5 .xcm-footer-credit a {
  color: #14110e !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.footer-bottom-5 .xcm-footer-credit a i {
  font-size: 0.75em;
  line-height: 1;
}
.footer-bottom-5 .xcm-footer-credit a:hover {
  color: var(--xcm-brown, #8b5a2b) !important;
}
.footer-wrapper-5 img {
  display: none !important;
}
@media (max-width: 1600px) {
  .footer-section-5 .right-shape22 {
    right: 12px !important;
    max-width: min(12vw, 150px);
  }
  .footer-section-5 .left-shapess {
    left: 12px !important;
    max-width: min(11vw, 140px);
  }
}
@media (max-width: 1399px) {
  .footer-section-5 .right-shape22,
  .footer-section-5 .left-shapess {
    opacity: 0.35 !important;
  }
  .footer-section-5 .footer-wrapper.style-3 {
    padding: 48px 0 36px !important;
  }
}
@media (max-width: 1199px) {
  .footer-section-5 .right-shape22,
  .footer-section-5 .left-shapess {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .footer-bottom-5 .xcm-footer-bottom {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 10px;
  }
  .footer-bottom-5 .xcm-footer-copy,
  .footer-bottom-5 .xcm-footer-legal,
  .footer-bottom-5 .xcm-footer-credit {
    justify-self: center;
    text-align: center;
  }
  .footer-bottom-5 .xcm-footer-credit a {
    justify-content: center;
  }
}

/* =========================================================
   v54 â€” Mobile header (template only) + site atmosphere
   ========================================================= */

/* Compact sticky header-7 â€” transparent over hero, glass only when scrolled */
#header-sticky.header-7 {
  transition: padding 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid transparent;
  box-shadow: none !important;
}
/* Top-level nav only: white over hero. Dropdown (.submenu) stays dark like BuildNow. */
#header-sticky.header-7 .header-main .main-menu > nav > ul > li > a,
#header-sticky.header-7 .main-menu > nav > ul > li > a {
  color: #fff !important;
}
#header-sticky.header-7 .header-main .main-menu > nav > ul > li > a:hover,
#header-sticky.header-7 .main-menu > nav > ul > li > a:hover,
#header-sticky.header-7 .main-menu > nav > ul > li.active > a {
  color: var(--xcm-yellow, #f5c518) !important;
}
#header-sticky.header-7 .header-right-icon .search-toggler {
  color: #fff !important;
}
#header-sticky.header-7 .header-bar span {
  background: #fff !important;
}
#header-sticky.header-7.sticky {
  background-color: rgba(20, 17, 14, 0.88) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
  border-bottom: 1px solid rgba(245, 197, 24, 0.16);
}
#header-sticky.header-7.sticky .header-main .main-menu > nav > ul > li > a,
#header-sticky.header-7.sticky .main-menu > nav > ul > li > a {
  color: #fff !important;
}
#header-sticky.header-7.sticky .header-main .main-menu > nav > ul > li > a:hover,
#header-sticky.header-7.sticky .main-menu > nav > ul > li > a:hover,
#header-sticky.header-7.sticky .main-menu > nav > ul > li.active > a {
  color: var(--xcm-yellow, #f5c518) !important;
}
/* Dropdown panels: template dark text on white */
#header-sticky.header-7 .main-menu ul li .submenu,
#header-sticky.header-7.sticky .main-menu ul li .submenu {
  background: #fff !important;
  min-width: 240px !important;
  width: auto !important;
  max-width: 320px !important;
  padding: 16px 0 !important;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px !important;
}
#header-sticky.header-7 .main-menu ul li .submenu li a,
#header-sticky.header-7.sticky .main-menu ul li .submenu li a {
  color: #414141 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 38px !important;
  padding: 0 22px 0 32px !important;
  white-space: nowrap !important;
}
#header-sticky.header-7 .main-menu ul li .submenu li a:hover,
#header-sticky.header-7 .main-menu ul li .submenu li:hover > a,
#header-sticky.header-7.sticky .main-menu ul li .submenu li a:hover,
#header-sticky.header-7.sticky .main-menu ul li .submenu li:hover > a {
  color: var(--theme, #8b6b4a) !important;
}
#header-sticky.header-7.sticky .header-right-icon .search-toggler {
  color: #fff !important;
}
#header-sticky.header-7.sticky .header-right-icon .contacts-btn {
  color: #fff !important;
  border-color: #fff !important;
  background: transparent !important;
}
#header-sticky.header-7.sticky .header-main {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  min-height: 64px;
}
#header-sticky.header-7.sticky .header-logo img {
  max-height: 56px !important;
  min-height: 0 !important;
  max-width: 180px !important;
}
#header-sticky.header-7.sticky .header-right-icon .contacts-btn {
  padding: 0 14px !important;
  height: 42px !important;
  font-size: 12px !important;
}
/* Inner pages (no hero): keep readable dark bar from the start */
body:not(:has(.hero-7)) #header-sticky.header-7 {
  background-color: rgba(20, 17, 14, 0.92) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(245, 197, 24, 0.12);
}
@media (max-width: 1199px) {
  /* Absolute overlay on hero (not sticky-in-flow) so transparent shows the video, not white page */
  #header-sticky.header-7 {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10040;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }
  #header-sticky.header-7.sticky {
    position: fixed !important;
    background-color: rgba(20, 17, 14, 0.92) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
  }
  #header-sticky.header-7 {
    transition:
      transform 0.28s ease,
      padding 0.25s ease,
      background-color 0.25s ease,
      box-shadow 0.25s ease,
      border-color 0.25s ease;
    will-change: transform;
  }
  #header-sticky.header-7.is-header-hidden {
    transform: translateY(-110%);
    pointer-events: none;
  }
  #header-sticky.header-7 .header-main {
    min-height: 62px;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    gap: 10px;
  }
  #header-sticky.header-7 .header-logo {
    max-width: 160px;
    flex: 0 1 auto;
  }
  #header-sticky.header-7 .header-logo img {
    max-height: 48px !important;
    max-width: 150px !important;
    min-height: 0 !important;
  }
  #header-sticky.header-7 .header-right {
    gap: 10px !important;
    flex: 1 1 auto;
    justify-content: flex-end !important;
    align-items: center !important;
  }
  #header-sticky.header-7 .header-right-icon {
    gap: 10px !important;
    display: flex !important;
    align-items: center !important;
  }
  /* Template hides quote under 1199px; keep a compact centered CTA visible */
  #header-sticky.header-7 .header-right-icon .contacts-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px !important;
    height: 40px !important;
    line-height: 1 !important;
    font-size: 11px !important;
    letter-spacing: 0.04em;
    white-space: nowrap;
    overflow: visible;
    text-align: center !important;
    border-width: 1px !important;
    color: #fff !important;
    border-color: #fff !important;
    background: transparent !important;
    font-weight: 700 !important;
  }
  #header-sticky.header-7 .header__hamburger {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0;
    opacity: 0.72;
  }
  #header-sticky.header-7 .header-bar {
    width: 20px !important;
    transform: scale(0.88);
    transform-origin: center right;
  }
  #header-sticky.header-7 .header-bar span {
    background: #fff !important;
    height: 1.5px !important;
    width: 16px !important;
    margin: 3px 0 !important;
    opacity: 0.85;
  }
  #header-sticky.header-7.sticky .header-main {
    min-height: 52px;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  #header-sticky.header-7.sticky .header-logo img {
    max-height: 40px !important;
    max-width: 130px !important;
  }
  #header-sticky.header-7.sticky .header-right-icon .contacts-btn {
    padding: 0 12px !important;
    height: 36px !important;
    font-size: 10px !important;
  }
}

/* Light cream offcanvas / mobile drawer */
.offcanvas__info {
  background: #faf7f2 !important;
  border-left: 2px solid var(--xcm-brown, #8b6b4a) !important;
  color: var(--xcm-ink, #2a241e) !important;
}
.offcanvas__info .offcanvas-title,
.offcanvas__info h3,
.offcanvas__info .offcanvas__contact h3 {
  color: var(--xcm-ink, #2a241e) !important;
}
.offcanvas__info p,
.offcanvas__info .contact-list p,
.offcanvas__info .contact-list h4,
.offcanvas__info .contact-list h4 a {
  color: var(--xcm-muted, #5c534a) !important;
}
.offcanvas__info .contact-list .icon {
  color: #fff !important;
  background-color: var(--xcm-brown, #8b6b4a) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.offcanvas__info .contact-list .icon i {
  color: #fff !important;
  font-size: 1rem;
  line-height: 1;
}
.offcanvas__info .offcanvas__close button {
  color: var(--xcm-brown, #8b6b4a) !important;
  background: transparent !important;
}
.offcanvas__info .social-icon a {
  color: var(--xcm-ink, #2a241e) !important;
  border-color: rgba(139, 107, 74, 0.35) !important;
}
.offcanvas__info .social-icon a:hover {
  color: #fff !important;
  background: var(--xcm-brown, #8b6b4a) !important;
  border-color: var(--xcm-brown, #8b6b4a) !important;
}
.offcanvas__logo img {
  filter: drop-shadow(0 1px 6px rgba(20, 17, 14, 0.18)) !important;
}
.mean-container .mean-nav,
.mean-container .mean-nav ul {
  background: transparent !important;
}
.mean-container .mean-nav ul li a {
  color: var(--xcm-ink, #2a241e) !important;
  border-bottom-color: rgba(20, 17, 14, 0.1) !important;
  background: transparent !important;
}
.mean-container .mean-nav ul li a:hover,
.mean-container .mean-nav ul li a.mean-clicked {
  color: var(--xcm-brown, #8b6b4a) !important;
}
.mean-container .mean-nav ul li a.mean-expand {
  background: rgba(139, 107, 74, 0.1) !important;
  color: var(--xcm-brown, #8b6b4a) !important;
}
/* Current page highlight in mobile offcanvas menu */
.mean-container .mean-nav ul li.is-current > a:not(.mean-expand),
.mean-container .mean-nav ul li a.is-current {
  color: var(--xcm-brown, #8b6b4a) !important;
  font-weight: 700 !important;
  background: rgba(139, 107, 74, 0.12) !important;
  border-left: 3px solid var(--xcm-yellow, #f5c518) !important;
  padding-left: 12px !important;
}
.mean-container .mean-nav ul li.is-current > a.mean-expand {
  background: rgba(139, 107, 74, 0.18) !important;
}
.main-menu nav ul li.is-current > a,
.main-menu ul li.is-current > a {
  color: var(--xcm-yellow, #f5c518) !important;
}
.mobile-menu.mean-container {
  margin-bottom: 20px;
}

/* Hero construction atmosphere + fluid desktop scale */
.hero-7 {
  background-color: #1a1510 !important;
}
.hero-7::before {
  background:
    radial-gradient(ellipse at 50% 18%, rgba(139, 90, 43, 0.18) 0%, transparent 52%),
    linear-gradient(180deg, rgba(12, 10, 8, 0.55) 0%, rgba(12, 10, 8, 0.68) 48%, rgba(12, 10, 8, 0.82) 100%),
    rgba(10, 18, 0, 0.38) !important;
}
.hero-7::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  opacity: 0.18;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  mix-blend-mode: soft-light;
}
.xcm-hero-site-status {
  margin: -28px auto 36px;
  max-width: 520px;
  text-align: center;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  position: relative;
  z-index: 6;
}

/* SEO lead under brand */
.xcm-hero-seo {
  position: relative;
  z-index: 5;
  max-width: 36ch;
  margin: 0 0 0;
  text-align: left;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(0.95rem, 1.05vw, 1.1rem);
  line-height: 1.5;
  font-weight: 500;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}
.xcm-hero-stats {
  position: relative;
  z-index: 6;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin: 0;
  align-items: stretch;
}
.xcm-hero-stat-pill {
  position: relative;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 11px 18px 11px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.12);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  color: #14110e;
  cursor: pointer !important;
  transition:
    background-color 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    transform 0.28s ease;
}
.xcm-hero-stat-pill *,
.xcm-hero-stat-pill:hover,
.xcm-hero-stat-pill:focus-visible {
  cursor: pointer !important;
}
.xcm-hero-stat-pill:hover,
.xcm-hero-stat-pill:focus-visible {
  background: #fffdf6;
  border-color: rgba(201, 162, 39, 0.65);
  box-shadow:
    0 0 0 1px rgba(245, 197, 24, 0.35),
    0 0 22px rgba(245, 197, 24, 0.28),
    0 12px 28px rgba(0, 0, 0, 0.16);
  transform: translateY(-1px);
  outline: none;
  z-index: 8;
}
.xcm-hero-stat-pill__tip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translateX(-50%) translateY(6px);
  width: min(260px, 72vw);
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  color: #3d3630;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(20, 17, 14, 0.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s ease;
  z-index: 20;
}
.xcm-hero-stat-pill__tip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -7px;
  border: 7px solid transparent;
  border-top-color: #fff;
}
.xcm-hero-stat-pill:hover .xcm-hero-stat-pill__tip,
.xcm-hero-stat-pill:focus-visible .xcm-hero-stat-pill__tip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.xcm-hero-stat-pill__icon {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #f7f1e8;
  border: 1px solid rgba(20, 17, 14, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8b6b4a;
  font-size: 0.82rem;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.xcm-hero-stat-pill:hover .xcm-hero-stat-pill__icon,
.xcm-hero-stat-pill:focus-visible .xcm-hero-stat-pill__icon {
  transform: scale(1.06);
  box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.28);
}
.xcm-hero-stat-pill__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.15;
}
.xcm-hero-stat-pill__value {
  font-size: 1.05rem;
  font-weight: 800;
  color: #14110e;
  letter-spacing: 0.01em;
  text-shadow: none;
}
.xcm-hero-stat-pill__label {
  font-size: 0.76rem;
  color: #5c534a;
  white-space: nowrap;
}
.xcm-hero-reviews {
  position: relative;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  margin: 0;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.12);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  color: #14110e;
  text-decoration: none !important;
  cursor: pointer !important;
  transition:
    background-color 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    transform 0.28s ease;
}
.xcm-hero-reviews *,
.xcm-hero-reviews:hover,
.xcm-hero-reviews:focus-visible {
  cursor: pointer !important;
}
.xcm-hero-reviews:hover,
.xcm-hero-reviews:focus-visible {
  background: #fffdf6;
  border-color: rgba(201, 162, 39, 0.65);
  box-shadow:
    0 0 0 1px rgba(245, 197, 24, 0.35),
    0 0 22px rgba(245, 197, 24, 0.28),
    0 12px 28px rgba(0, 0, 0, 0.16);
  transform: translateY(-1px);
  outline: none;
}
.xcm-hero-reviews__tip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translateX(-50%) translateY(6px);
  width: min(260px, 72vw);
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  color: #3d3630;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(20, 17, 14, 0.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s ease;
  z-index: 20;
}
.xcm-hero-reviews__tip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -7px;
  border: 7px solid transparent;
  border-top-color: #fff;
}
.xcm-hero-reviews:hover .xcm-hero-reviews__tip,
.xcm-hero-reviews:focus-visible .xcm-hero-reviews__tip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.xcm-hero-reviews__g {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #f7f1e8;
  border: 1px solid rgba(20, 17, 14, 0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.xcm-hero-reviews:hover .xcm-hero-reviews__g,
.xcm-hero-reviews:focus-visible .xcm-hero-reviews__g {
  transform: scale(1.06);
  box-shadow: 0 0 0 3px rgba(245, 197, 24, 0.28);
}
.xcm-hero-reviews__meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.xcm-hero-reviews__stars {
  display: flex;
  gap: 2px;
  color: #c9a227;
  font-size: 0.62rem;
  line-height: 1;
  margin-bottom: 2px;
  transition: filter 0.28s ease;
}
.xcm-hero-reviews:hover .xcm-hero-reviews__stars,
.xcm-hero-reviews:focus-visible .xcm-hero-reviews__stars {
  filter: drop-shadow(0 0 4px rgba(245, 197, 24, 0.45));
}
.xcm-hero-reviews__copy {
  margin: 0;
  color: #3d3630;
  font-size: 0.68rem;
  line-height: 1.2;
  white-space: nowrap;
  text-shadow: none;
}
.xcm-hero-reviews__link {
  flex: 0 0 auto;
  color: #8b6b4a !important;
  font-size: 0.68rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
  transition: color 0.2s ease;
}
.xcm-hero-reviews:hover .xcm-hero-reviews__link,
.xcm-hero-reviews:focus-visible .xcm-hero-reviews__link {
  color: #14110e !important;
}
@media (prefers-reduced-motion: reduce) {
  .xcm-hero-reviews,
  .xcm-hero-reviews__g,
  .xcm-hero-reviews__tip,
  .xcm-hero-stat-pill,
  .xcm-hero-stat-pill__icon,
  .xcm-hero-stat-pill__tip {
    transition: none !important;
  }
  .xcm-hero-reviews:hover,
  .xcm-hero-reviews:focus-visible,
  .xcm-hero-stat-pill:hover,
  .xcm-hero-stat-pill:focus-visible {
    transform: none;
  }
}

/* Quote form — light frosted glass on the right */
.hero-7 .hero-contact-form-box.xcm-hero-form-compact {
  padding: 26px 24px 22px !important;
  max-width: min(480px, 100%);
  width: 100%;
  justify-self: end;
  align-self: center;
  position: relative;
  z-index: 8;
  --xcm-form-accent: #8b6b4a;
  border-color: color-mix(in srgb, var(--xcm-form-accent) 28%, rgba(255, 255, 255, 0.64)) !important;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.22) !important;
  transition:
    border-color 0.45s ease,
    box-shadow 0.45s ease,
    background-color 0.45s ease,
    transform 0.35s ease;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode="renovation"] {
  --xcm-form-accent: #8b6b4a;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode="new-build"] {
  --xcm-form-accent: #c9a227;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode="design"] {
  --xcm-form-accent: #d4a017;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.is-mode-pulse {
  animation: xcmFormModePulse 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes xcmFormModePulse {
  0% { transform: scale(1); }
  35% { transform: scale(1.018); box-shadow: 0 0 0 1px color-mix(in srgb, var(--xcm-form-accent) 40%, transparent), 0 28px 56px rgba(0, 0, 0, 0.28); }
  100% { transform: scale(1); }
}
.xcm-hero-form-modehint {
  margin: -4px 0 14px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4;
  min-height: 1.2em;
  transition: color 0.35s ease, opacity 0.35s ease;
}
.xcm-hero-form-compact[data-mode] .xcm-hero-form-trust {
  border-color: color-mix(in srgb, var(--xcm-form-accent) 45%, rgba(255, 255, 255, 0.55));
}
.xcm-hero-form-compact[data-mode] .xcm-hero-option.is-active .xcm-hero-option__ui,
.xcm-hero-form-compact[data-mode] .xcm-hero-option:has(input:checked) .xcm-hero-option__ui {
  background: var(--xcm-form-accent) !important;
  border-color: var(--xcm-form-accent) !important;
  color: #fff !important;
}
.xcm-hero-form-compact[data-mode="new-build"] .xcm-hero-option.is-active .xcm-hero-option__ui,
.xcm-hero-form-compact[data-mode="new-build"] .xcm-hero-option:has(input:checked) .xcm-hero-option__ui,
.xcm-hero-form-compact[data-mode="design"] .xcm-hero-option.is-active .xcm-hero-option__ui,
.xcm-hero-form-compact[data-mode="design"] .xcm-hero-option:has(input:checked) .xcm-hero-option__ui {
  color: #14110e !important;
}
.xcm-hero-form-compact[data-mode] .form-clt input:focus,
.xcm-hero-form-compact[data-mode] .form-clt textarea:focus {
  border-color: rgba(255, 255, 255, 0.95) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--xcm-form-accent) 40%, rgba(255, 255, 255, 0.35));
  background: rgba(255, 255, 255, 0.16) !important;
}
.xcm-hero-form-compact[data-mode] .theme-btn-main.style-2:hover {
  background-color: var(--xcm-form-accent) !important;
}
.xcm-hero-form-compact h3[data-xcm-form-title],
.xcm-hero-form-compact [data-xcm-form-title] {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.xcm-hero-form-compact.is-mode-pulse [data-xcm-form-title],
.xcm-hero-form-compact.is-mode-pulse [data-xcm-form-hint] {
  animation: xcmFormCopyIn 0.45s ease;
}
@keyframes xcmFormCopyIn {
  from { opacity: 0.35; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact.is-mode-pulse,
  .xcm-hero-form-compact.is-mode-pulse [data-xcm-form-title],
  .xcm-hero-form-compact.is-mode-pulse [data-xcm-form-hint] {
    animation: none !important;
  }
}
.xcm-hero-form-compact h3 {
  font-size: 1.45rem !important;
  margin-bottom: 8px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}
.xcm-hero-form-compact .xcm-hero-form-trust {
  margin-bottom: 14px;
  padding: 7px 12px 7px 10px;
  gap: 8px;
}
.xcm-hero-form-compact .xcm-hero-form-trust__text {
  font-size: 0.78rem;
}
.xcm-hero-form-compact .form-clt input,
.xcm-hero-form-compact .form-clt textarea {
  padding: 14px 44px 14px 16px !important;
  font-size: 1rem !important;
}
.xcm-hero-form-compact .form-clt textarea {
  min-height: 96px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
/* Field icons: centered in the input, same in editor and live preview */
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt {
  position: relative !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt .icon {
  position: absolute !important;
  right: 4px !important;
  left: auto !important;
  top: calc(50% - 12px) !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  pointer-events: none !important;
  z-index: 2 !important;
  line-height: 0 !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt .icon img {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  object-fit: contain !important;
  transform: none !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt textarea + .icon,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt:has(textarea) .icon {
  display: none !important;
}
.xcm-hero-form-compact .theme-btn-main .theme-btn {
  font-size: 0.82rem !important;
}
.xcm-hero-form-cta {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin-top: 2px;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn.theme-btn-main.style-2 {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
  min-height: 54px;
  padding: 8px 8px 8px 18px !important;
  border-radius: 12px !important;
  border: none !important;
  background: linear-gradient(90deg, #7a5a3a 0%, #8b6b4a 48%, #a67c52 100%) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
  transition: filter 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn.theme-btn-main.style-2:hover {
  background: linear-gradient(90deg, #8b6b4a 0%, #a67c52 50%, #c9a227 100%) !important;
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.32);
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn .theme-btn-arrow-left {
  display: none !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn .theme-btn {
  flex: 1 1 auto;
  text-align: left !important;
  justify-content: flex-start !important;
  padding: 0 12px 0 0 !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  color: #fff !important;
  background: transparent !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn .theme-btn-arrow-right {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  margin: 0 !important;
  border-radius: 10px !important;
  background: #f7f1e8 !important;
  color: #7a5a3a !important;
  box-shadow: none !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn:hover .theme-btn {
  color: #fff !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn:hover .theme-btn-arrow-right {
  background: #fff !important;
  color: #14110e !important;
}
.xcm-hero-form-secure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.78rem;
  line-height: 1.35;
  text-align: center;
}
.xcm-hero-form-secure i {
  color: #d4b48a;
  font-size: 0.72rem;
}
.xcm-hero-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}
.xcm-hero-option {
  margin: 0;
  cursor: pointer;
}
.xcm-hero-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.xcm-hero-option__ui {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 58px;
  padding: 8px 6px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.xcm-hero-option__ui i {
  font-size: 0.95rem;
}
.xcm-hero-option.is-active .xcm-hero-option__ui,
.xcm-hero-option:has(input:checked) .xcm-hero-option__ui {
  background: var(--xcm-brown, #8b6b4a);
  border-color: var(--xcm-brown, #8b6b4a);
  color: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.xcm-hero-option:hover .xcm-hero-option__ui {
  border-color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.18);
}

/* BuildNow template glass: light translucent panel, white type */
.hero-7 .hero-contact-form-box {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.64) !important;
  backdrop-filter: blur(31.55px);
  -webkit-backdrop-filter: blur(31.55px);
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.22);
  color: #fff;
}
.hero-7 .hero-contact-form-box h3,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact h3 {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}
.hero-7 .hero-contact-form-box .form-clt input,
.hero-7 .hero-contact-form-box .form-clt textarea {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.09) !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  box-shadow: none;
}
.hero-7 .hero-contact-form-box .form-clt input::placeholder,
.hero-7 .hero-contact-form-box .form-clt textarea::placeholder {
  color: rgba(255, 255, 255, 0.92) !important;
  opacity: 1;
}
.hero-7 .hero-contact-form-box .form-clt input:focus,
.hero-7 .hero-contact-form-box .form-clt textarea:focus {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt .icon img {
  filter: brightness(0) invert(1);
  opacity: 0.95;
}
/* Mode accents must win over the default form border shorthand above */
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode] {
  border-color: color-mix(in srgb, var(--xcm-form-accent) 28%, rgba(255, 255, 255, 0.64)) !important;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.22) !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode] .xcm-hero-option.is-active .xcm-hero-option__ui,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode] .xcm-hero-option:has(input:checked) .xcm-hero-option__ui {
  background: var(--xcm-form-accent) !important;
  border-color: var(--xcm-form-accent) !important;
}
@media (min-width: 1200px) {
  .hero-7.xcm-hero-fullscreen {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    height: 100vh !important;
    height: 100dvh !important;
    justify-content: center !important;
    padding-top: calc(100px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: clamp(32px, 4vh, 52px) !important;
    padding-left: clamp(36px, 4.5vw, 72px) !important;
    padding-right: clamp(36px, 4.5vw, 72px) !important;
  }
  .xcm-hero-stage {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 500px);
    gap: clamp(56px, 7vw, 112px);
    align-items: center;
    max-width: 1680px;
  }
  .hero-7 .hero-title-1 {
    display: block !important;
    font-size: clamp(3.75rem, 5.8vw, 6.1rem) !important;
    line-height: 0.92 !important;
    margin: 0 0 18px !important;
    letter-spacing: 0.01em;
    text-align: left !important;
    text-shadow: 0 10px 42px rgba(0, 0, 0, 0.42);
    transform: none !important;
    max-width: 100% !important;
  }
  .xcm-hero-seo {
    max-width: 38ch;
    margin: 0;
    text-align: left;
    font-size: 1.05rem !important;
    transform: none !important;
  }
  .hero-7 .hero-title-2 {
    font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
    max-width: 28ch !important;
    text-align: left !important;
    margin: 0 0 14px !important;
    line-height: 1.25 !important;
    transform: none !important;
  }
  .hero-7 .hero-title-2__to {
    text-align: left;
    white-space: normal;
    display: inline;
    width: auto;
    text-transform: lowercase;
  }
  .xcm-hero-stats,
  .xcm-hero-reviews,
  .xcm-hero-site-status {
    margin-left: 0;
    text-align: left;
    transform: none !important;
  }
  .hero-7 .hero-image {
    display: none !important;
  }
  .hero-7 .hero-contact-form-box,
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact {
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 !important;
    padding: 30px 28px 26px !important;
    transform: none !important;
    justify-self: end;
    align-self: center;
  }
  .hero-7 .hero-contact-form-box h3 {
    font-size: 1.38rem !important;
    margin-bottom: 16px !important;
  }
  .xcm-hero-form-compact .xcm-hero-options {
    gap: 10px;
    margin-bottom: 16px;
  }
  .xcm-hero-form-compact .theme-btn-main .theme-btn {
    font-size: 0.92rem !important;
  }
}
@media (min-width: 1200px) and (max-width: 1599.98px) {
  .hero-7.xcm-hero-fullscreen {
    padding-top: calc(88px + env(safe-area-inset-top, 0px)) !important;
  }
  .xcm-hero-stage {
    grid-template-columns: minmax(0, 1fr) minmax(400px, 480px);
    gap: clamp(40px, 4.5vw, 72px);
    max-width: 1480px;
  }
  .hero-7 .hero-title-1 {
    font-size: clamp(3.35rem, 5.2vw, 4.85rem) !important;
    margin-bottom: 12px !important;
  }
  .hero-7 .hero-title-2 {
    font-size: clamp(1.2rem, 1.7vw, 1.55rem) !important;
    margin-bottom: 12px !important;
  }
  .xcm-hero-kicker {
    font-size: 0.74rem;
    margin-bottom: 12px;
  }
  .xcm-hero-seo {
    font-size: 0.98rem !important;
    max-width: 36ch;
  }
  .xcm-hero-trust-row {
    gap: 10px 12px;
    margin-top: 18px;
  }
  .xcm-hero-stat-pill {
    padding: 10px 16px 10px 11px;
    gap: 10px;
  }
  .xcm-hero-stat-pill__icon {
    width: 28px;
    height: 28px;
    font-size: 0.76rem;
  }
  .xcm-hero-stat-pill__value {
    font-size: 0.98rem;
  }
  .xcm-hero-stat-pill__label {
    font-size: 0.72rem;
  }
  .xcm-hero-reviews {
    padding: 9px 12px;
    gap: 9px;
  }
  .xcm-hero-reviews__copy,
  .xcm-hero-reviews__link {
    font-size: 0.66rem;
  }
  .hero-7 .hero-contact-form-box,
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact {
    max-width: 480px !important;
  }
}

/* Larger monitors: grow the quote panel + left copy/pills together */
@media (min-width: 1600px) {
  .xcm-hero-stage {
    grid-template-columns: minmax(0, 1fr) minmax(480px, 560px);
    max-width: 1760px;
    gap: clamp(56px, 5.5vw, 96px);
  }
  .xcm-hero-kicker {
    font-size: 0.86rem;
    margin-bottom: 16px;
    letter-spacing: 0.18em;
  }
  .hero-7 .hero-title-1 {
    font-size: clamp(4.6rem, 5.4vw, 6.4rem) !important;
    margin-bottom: 18px !important;
  }
  .hero-7 .hero-title-2 {
    font-size: clamp(1.55rem, 1.85vw, 2rem) !important;
    margin-bottom: 16px !important;
  }
  .xcm-hero-seo {
    font-size: 1.12rem !important;
    max-width: 40ch;
    line-height: 1.55;
  }
  .xcm-hero-trust-row {
    gap: 12px 14px;
    margin-top: 26px;
  }
  .xcm-hero-stat-pill {
    padding: 12px 18px 12px 12px;
    gap: 12px;
  }
  .xcm-hero-stat-pill__icon {
    width: 32px;
    height: 32px;
    font-size: 0.86rem;
  }
  .xcm-hero-stat-pill__value {
    font-size: 1.1rem;
  }
  .xcm-hero-stat-pill__label {
    font-size: 0.78rem;
  }
  .xcm-hero-reviews {
    padding: 11px 14px;
    gap: 11px;
  }
  .xcm-hero-reviews__g {
    width: 28px;
    height: 28px;
  }
  .xcm-hero-reviews__stars {
    font-size: 0.68rem;
  }
  .xcm-hero-reviews__copy,
  .xcm-hero-reviews__link {
    font-size: 0.74rem;
  }
  .hero-7 .hero-contact-form-box,
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact {
    max-width: 560px !important;
    padding: 34px 32px 30px !important;
  }
  .hero-7 .hero-contact-form-box h3 {
    font-size: 1.48rem !important;
  }
  .xcm-hero-form-compact .form-clt input,
  .xcm-hero-form-compact .form-clt textarea {
    padding: 16px 48px 16px 18px !important;
    font-size: 1.05rem !important;
  }
  .xcm-hero-form-compact .form-clt textarea {
    min-height: 112px !important;
  }
  .xcm-hero-option__ui {
    min-height: 66px;
    font-size: 0.74rem;
  }
}
@media (min-width: 1920px) {
  .xcm-hero-stage {
    grid-template-columns: minmax(0, 1fr) minmax(520px, 620px);
    max-width: 1920px;
    gap: clamp(64px, 6vw, 120px);
  }
  .xcm-hero-kicker {
    font-size: 0.92rem;
    margin-bottom: 18px;
  }
  .hero-7 .hero-title-1 {
    font-size: clamp(5.2rem, 5.6vw, 7rem) !important;
    margin-bottom: 20px !important;
  }
  .hero-7 .hero-title-2 {
    font-size: clamp(1.7rem, 1.95vw, 2.2rem) !important;
    margin-bottom: 18px !important;
  }
  .xcm-hero-seo {
    font-size: 1.2rem !important;
    max-width: 42ch;
  }
  .xcm-hero-trust-row {
    gap: 14px 16px;
    margin-top: 28px;
  }
  .xcm-hero-stat-pill {
    padding: 13px 20px 13px 13px;
  }
  .xcm-hero-stat-pill__icon {
    width: 34px;
    height: 34px;
    font-size: 0.9rem;
  }
  .xcm-hero-stat-pill__value {
    font-size: 1.16rem;
  }
  .xcm-hero-stat-pill__label {
    font-size: 0.82rem;
  }
  .xcm-hero-reviews {
    padding: 12px 16px;
    gap: 12px;
  }
  .xcm-hero-reviews__g {
    width: 30px;
    height: 30px;
  }
  .xcm-hero-reviews__copy,
  .xcm-hero-reviews__link {
    font-size: 0.78rem;
  }
  .hero-7 .hero-contact-form-box,
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact {
    max-width: 620px !important;
    padding: 38px 36px 32px !important;
  }
  .hero-7 .hero-contact-form-box h3 {
    font-size: 1.58rem !important;
  }
  .xcm-hero-form-compact .theme-btn-main .theme-btn {
    font-size: 0.95rem !important;
  }
}
@media (min-width: 2560px) {
  .xcm-hero-stage {
    grid-template-columns: minmax(0, 1fr) minmax(580px, 680px);
    max-width: 2200px;
    gap: clamp(80px, 5vw, 140px);
  }
  .xcm-hero-kicker {
    font-size: 1rem;
    margin-bottom: 20px;
  }
  .hero-7 .hero-title-1 {
    font-size: clamp(6rem, 5.2vw, 7.6rem) !important;
    margin-bottom: 22px !important;
  }
  .hero-7 .hero-title-2 {
    font-size: clamp(1.9rem, 1.7vw, 2.45rem) !important;
    margin-bottom: 20px !important;
  }
  .xcm-hero-seo {
    font-size: 1.28rem !important;
    max-width: 44ch;
  }
  .xcm-hero-trust-row {
    gap: 16px 18px;
    margin-top: 32px;
  }
  .xcm-hero-stat-pill {
    padding: 14px 22px 14px 14px;
  }
  .xcm-hero-stat-pill__icon {
    width: 36px;
    height: 36px;
    font-size: 0.95rem;
  }
  .xcm-hero-stat-pill__value {
    font-size: 1.22rem;
  }
  .xcm-hero-stat-pill__label {
    font-size: 0.86rem;
  }
  .xcm-hero-reviews {
    padding: 13px 18px;
  }
  .xcm-hero-reviews__copy,
  .xcm-hero-reviews__link {
    font-size: 0.82rem;
  }
  .hero-7 .hero-contact-form-box,
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact {
    max-width: 680px !important;
    padding: 42px 40px 36px !important;
  }
  .hero-7 .hero-contact-form-box h3 {
    font-size: 1.7rem !important;
  }
}

/* Mobile / tablet homepage optimize */
@media (max-width: 1199px) {
  .hero-7.xcm-hero-fullscreen {
    height: auto !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    padding: 110px 16px 28px !important;
    justify-content: flex-start !important;
  }
  .xcm-hero-stage {
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: stretch;
    flex: 0 0 auto;
  }
  .xcm-hero-copy {
    max-width: none;
    text-align: center;
  }
  .xcm-hero-kicker {
    text-align: center;
  }
  .xcm-hero-trust-row {
    justify-content: center;
  }
  .hero-7 .hero-title-1 {
    display: block !important;
    font-size: clamp(2.15rem, 9.2vw, 3.4rem) !important;
    line-height: 1.02 !important;
    margin: 0 auto 12px !important;
    max-width: 100%;
    padding: 0 4px;
    text-align: center !important;
    overflow-wrap: normal;
    word-break: keep-all;
  }
  .hero-7 .hero-image {
    display: none !important;
  }
  .hero-7 .hero-title-2 {
    text-align: center !important;
    font-size: clamp(1.25rem, 4.8vw, 1.7rem) !important;
    margin: 0 auto 12px !important;
    max-width: 22ch !important;
  }
  .hero-7 .hero-title-2__to {
    text-align: center;
  }
  .xcm-hero-seo {
    max-width: 36ch;
    margin: 0 auto;
    font-size: 0.92rem;
    text-align: center;
  }
  .xcm-hero-stats {
    justify-content: center;
  }
  .xcm-hero-reviews {
    display: none !important;
  }
  .hero-7.xcm-hero-fullscreen .xcm-hero-site-status {
    margin: 16px auto 0;
    text-align: center;
  }
  .hero-7 .hero-contact-form-box {
    margin: 0 auto !important;
    max-width: 420px !important;
    width: 100%;
    justify-self: center;
  }
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact,
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid {
    padding: 18px 16px 16px !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 28px rgba(20, 17, 14, 0.18) !important;
  }
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact h3,
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact h3[data-xcm-form-title] {
    font-size: 1.28rem !important;
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
  }
  .xcm-hero-form-modehint {
    font-size: 0.86rem !important;
    margin-bottom: 12px !important;
  }
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-form-trust {
    margin-bottom: 10px !important;
    padding: 5px 10px 5px 8px !important;
    transform: scale(0.94);
    transform-origin: left center;
  }
  .xcm-hero-form-compact .xcm-hero-options {
    gap: 8px !important;
    margin-bottom: 12px !important;
  }
  .xcm-hero-form-compact .xcm-hero-option__ui {
    padding: 10px 8px !important;
    font-size: 0.78rem !important;
  }
  .hero-7 .hero-contact-form-box .row.g-3 {
    --bs-gutter-y: 0.65rem;
  }
  .xcm-hero-form-more {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    overflow: hidden;
    transition: grid-template-rows 0.28s ease, opacity 0.22s ease, margin 0.22s ease;
    margin: 0 !important;
  }
  .xcm-hero-form-more > .row {
    min-height: 0;
    overflow: hidden;
  }
  .hero-contact-form-box.is-more-open .xcm-hero-form-more,
  .xcm-hero-form-more:not([hidden]) {
    grid-template-rows: 1fr;
    opacity: 1;
  }
  .xcm-hero-form-more[hidden] {
    display: none !important;
  }
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-form-secure {
    font-size: 0.7rem;
    margin-top: 8px;
  }
  .hero-7 .row {
    row-gap: 8px;
  }
  .section-padding {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .xcm-contact__panel {
    padding: 24px 18px 28px !important;
  }
  .xcm-contact__media {
    min-height: 220px !important;
    max-height: 280px !important;
  }
  .faq-section.xcm-faq-light .faq-content-style-3 h2 {
    font-size: clamp(1.55rem, 5vw, 2.1rem) !important;
  }
  .testimonial-section-7 .testimonial-left-content-style-7 {
    padding-right: 0 !important;
  }
  .xcm-honest-trust__body {
    padding: 22px 18px 26px !important;
  }
  .footer-section-5 .footer-wrapper.style-3 {
    padding: 40px 0 28px !important;
  }
  .xcm-fab-stack {
    right: 12px;
    bottom: 16px;
  }
}
@media (max-width: 575px) {
  #header-sticky.header-7 .header-right-icon .main-header__search {
    display: none;
  }
  #header-sticky.header-7 .header-right-icon .contacts-btn {
    padding: 0 10px !important;
    height: 36px !important;
    font-size: 10px !important;
  }
  #header-sticky.header-7 .header-logo img {
    max-height: 42px !important;
    max-width: 130px !important;
  }
  .hero-7 .hero-contact-form-box {
    padding: 20px 16px !important;
  }
  .hero-7 .hero-contact-form-box .theme-btn-main {
    width: 100%;
  }
  .xcm-contact__form .theme-btn-main,
  .xcm-contact__form .theme-btn-main .theme-btn {
    width: 100%;
    justify-content: center;
  }
}

/* =========================================================
   Why Us â€” cream band + expandable pillars
   ========================================================= */
.xcm-why {
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow: hidden;
  background: #f7f4ef !important;
  border-top: 1px solid rgba(20, 17, 14, 0.06);
  border-bottom: 1px solid rgba(20, 17, 14, 0.06);
  color: var(--xcm-ink, #2a241e);
}
.xcm-why__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.14;
}
.xcm-why__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(0.15) saturate(0.85);
}
.xcm-why__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(247, 244, 239, 0.97) 0%, rgba(247, 244, 239, 0.88) 42%, rgba(247, 244, 239, 0.72) 100%),
    radial-gradient(ellipse 50% 60% at 88% 30%, rgba(139, 107, 74, 0.12), transparent 60%);
}
.xcm-why > .container {
  position: relative;
  z-index: 1;
}
.xcm-why__intro .sub-title {
  color: var(--xcm-brown, #8b6b4a) !important;
}
.xcm-why__intro h2 {
  color: var(--xcm-ink, #2a241e) !important;
  font-size: clamp(1.75rem, 2.6vw, 2.65rem) !important;
  line-height: 1.2 !important;
  margin-top: 8px;
  margin-bottom: 16px;
}
.xcm-why__support {
  color: var(--xcm-muted, #5c534a);
  font-size: 1.05rem;
  line-height: 1.55;
  max-width: 36ch;
  margin: 0 0 24px;
}
.xcm-why__cta {
  margin-bottom: 18px;
}
.xcm-why__trust {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--xcm-muted, #5c534a);
}
.xcm-why__trust a {
  color: var(--xcm-ink, #2a241e);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.xcm-why__trust a:hover {
  color: var(--xcm-brown, #8b6b4a);
}
.xcm-why__accordion {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.xcm-why__item {
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.08);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(20, 17, 14, 0.05);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.xcm-why__item.is-open {
  border-color: rgba(139, 107, 74, 0.35);
  box-shadow: 0 14px 32px rgba(20, 17, 14, 0.08);
}
.xcm-why__header {
  width: 100%;
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  margin: 0;
  border: 0;
  background: transparent;
  color: var(--xcm-ink, #2a241e);
  text-align: left;
  cursor: pointer;
  position: relative;
  transition: background-color 0.25s ease;
}
.xcm-why__header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 0 2px 2px 0;
  background: transparent;
  transition: background-color 0.25s ease;
}
.xcm-why__item.is-open .xcm-why__header::before {
  background: var(--xcm-brown, #8b6b4a);
}
.xcm-why__item:not(.is-open) .xcm-why__header:hover {
  background: rgba(139, 107, 74, 0.05);
}
.xcm-why__header:focus-visible {
  outline: 2px solid #f5c518;
  outline-offset: -2px;
}
.xcm-why__num {
  font-family: "Barlow Condensed", "Barlow", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--xcm-brown, #8b6b4a);
  min-width: 1.8em;
}
.xcm-why__icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(139, 107, 74, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.xcm-why__icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  filter: none;
}
.xcm-why__title {
  font-size: clamp(1.05rem, 1.35vw, 1.25rem);
  font-weight: 700;
  line-height: 1.25;
}
.xcm-why__item.is-open .xcm-why__title {
  font-weight: 800;
}
.xcm-why__chev {
  color: var(--xcm-brown, #8b6b4a);
  transition: transform 0.3s ease;
  font-size: 0.85rem;
}
.xcm-why__item.is-open .xcm-why__chev {
  transform: rotate(180deg);
}
.xcm-why__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.32s ease;
}
.xcm-why__item.is-open .xcm-why__panel {
  grid-template-rows: 1fr;
}
.xcm-why__panel[hidden] {
  display: grid !important;
}
.xcm-why__panel-inner {
  overflow: hidden;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.28s ease, transform 0.28s ease;
  padding: 0 20px 0 20px;
}
.xcm-why__item.is-open .xcm-why__panel-inner {
  opacity: 1;
  transform: none;
  padding-bottom: 22px;
  padding-left: calc(20px + 1.8em + 14px + 40px + 14px);
}
.xcm-why__lead {
  margin: 0 0 12px;
  color: var(--xcm-muted, #5c534a);
  line-height: 1.5;
  font-size: 0.98rem;
}
.xcm-why__list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  gap: 8px;
}
.xcm-why__list li {
  position: relative;
  padding-left: 18px;
  color: var(--xcm-ink, #2a241e);
  font-size: 0.95rem;
  line-height: 1.4;
}
.xcm-why__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 1px;
  background: var(--xcm-brown, #8b6b4a);
}
.xcm-why__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--xcm-brown, #8b6b4a) !important;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  letter-spacing: 0.02em;
}
.xcm-why__more:hover {
  color: var(--xcm-ink, #2a241e) !important;
}
.xcm-why__more i {
  font-size: 0.75rem;
}
@media (max-width: 991px) {
  .xcm-why__item.is-open .xcm-why__panel-inner {
    padding-left: 20px;
  }
  .xcm-why__header {
    grid-template-columns: auto 1fr auto;
    gap: 12px;
  }
  .xcm-why__icon {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .xcm-why__panel,
  .xcm-why__panel-inner,
  .xcm-why__chev,
  .xcm-why__item,
  .xcm-why__header {
    transition: none !important;
  }
}


/* CTA band: clean residential strip (no industrial crane/tower junk) */
.cta-bg-section-5 {
  position: relative;
  overflow: hidden;
  background-color: #6f5538;
  min-height: 420px;
}
.cta-bg-section-5::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  /* Strong black shade across the FULL CTA band */
  background: rgba(0, 0, 0, 0.78) !important;
  opacity: 1 !important;
  z-index: 1 !important;
  pointer-events: none;
}
/* Kill template crane / bobbing shapes that were forced into layout flow */
.cta-bg-section-5 .left-shape,
.cta-bg-section-5 .right-shape {
  display: none !important;
}
.cta-bg-section-5 .container {
  position: relative;
  z-index: 2;
}
.cta-bg-wrapper-5 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(180px, 280px) minmax(0, 0.95fr);
  align-items: end;
  gap: clamp(20px, 3vw, 40px);
  padding: 48px 0 0 !important;
  min-height: 420px;
  position: relative;
  z-index: 2;
}
.cta-bg-wrapper-5 .cta-content {
  align-self: center;
  padding-bottom: 48px;
  max-width: 28rem;
}
.cta-bg-wrapper-5 .cta-content .tx-title,
.cta-bg-wrapper-5 .cta-content h2 {
  color: #fff !important;
  margin-bottom: 22px !important;
  line-height: 1.15 !important;
}
.cta-bg-wrapper-5 .cta-man {
  position: relative !important;
  z-index: 3;
  margin: 0 !important;
  max-width: 280px;
  width: 100%;
  justify-self: center;
  line-height: 0;
  align-self: end;
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.cta-bg-wrapper-5 .cta-man.is-in {
  opacity: 1;
  transform: none;
}
.cta-bg-wrapper-5 .cta-man.xcm-cta-settled {
  /* lock after first reveal — never replay */
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  will-change: auto;
}
@media (prefers-reduced-motion: reduce) {
  .cta-bg-wrapper-5 .cta-man {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.cta-bg-wrapper-5 .cta-man img {
  display: block;
  width: 100%;
  max-width: 280px;
  height: auto !important;
  max-height: 380px;
  aspect-ratio: 376 / 450;
  object-fit: contain;
  object-position: center bottom;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.cta-bg-wrapper-5 .cta-contact-item {
  align-self: center;
  padding-bottom: 48px;
}
.cta-bg-wrapper-5 .cta-contact-item .contact-item {
  margin-bottom: 22px !important;
}
.cta-bg-wrapper-5 .cta-contact-item .contact-item:last-child {
  margin-bottom: 0 !important;
}
@media (max-width: 1199px) {
  .cta-bg-wrapper-5 {
    grid-template-columns: 1fr 1fr;
    padding: 40px 0 36px !important;
    min-height: 0;
  }
  .cta-bg-wrapper-5 .cta-man {
    display: none !important;
  }
  .cta-bg-wrapper-5 .cta-content,
  .cta-bg-wrapper-5 .cta-contact-item {
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .cta-bg-wrapper-5 {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 36px 0 32px !important;
  }
}

/* Footer: hide industrial tower PNGs (wrong for residential brand) */
.footer-section-5 .right-shape22,
.footer-section-5 .left-shapess {
  display: none !important;
}

/* ===== Hero quote form: BuildNow glass theme (XDM accents) ===== */
.hero-7 .hero-contact-form-box,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact {
  --xcm-form-accent: #8b6b4a;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.64) !important;
  border-radius: 0 !important;
  backdrop-filter: blur(31.55px);
  -webkit-backdrop-filter: blur(31.55px);
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.22) !important;
  color: #fff;
  padding: 32px 30px 28px !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode="renovation"] {
  --xcm-form-accent: #8b6b4a;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode="new-build"] {
  --xcm-form-accent: #c9a227;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode="design"] {
  --xcm-form-accent: #d4a017;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode] {
  border-color: rgba(255, 255, 255, 0.64) !important;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.22) !important;
}
.hero-7 .hero-contact-form-box h3,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact h3 {
  color: #fff !important;
  font-size: 1.45rem !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  margin: 0 0 10px !important;
  text-shadow: none;
}
.xcm-hero-form-modehint {
  margin: 0 0 16px !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.4 !important;
}
.xcm-hero-form-compact .xcm-hero-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
  border-bottom: none;
}
.xcm-hero-form-compact .xcm-hero-option__ui {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 64px;
  padding: 10px 8px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.09) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: rgba(255, 255, 255, 0.95);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.55);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.xcm-hero-form-compact .xcm-hero-option__ui i {
  font-size: 1rem;
}
.xcm-hero-form-compact .xcm-hero-option:hover .xcm-hero-option__ui {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.85);
  color: #fff;
}
.xcm-hero-form-compact .xcm-hero-option.is-active .xcm-hero-option__ui,
.xcm-hero-form-compact .xcm-hero-option:has(input:checked) .xcm-hero-option__ui,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode] .xcm-hero-option.is-active .xcm-hero-option__ui,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact[data-mode] .xcm-hero-option:has(input:checked) .xcm-hero-option__ui {
  background: var(--xcm-form-accent) !important;
  border-color: var(--xcm-form-accent) !important;
  color: #fff !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.hero-7 .hero-contact-form-box .form-clt,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt {
  position: relative !important;
  margin-bottom: 0;
}
.hero-7 .hero-contact-form-box .form-clt input,
.hero-7 .hero-contact-form-box .form-clt textarea,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt input,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt textarea {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.09) !important;
  border: 1px solid rgba(255, 255, 255, 0.62) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 16px 48px 16px 18px !important;
  font-size: 1rem !important;
  line-height: 1.2;
  width: 100%;
}
.hero-7 .hero-contact-form-box .form-clt textarea,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt textarea {
  min-height: 110px !important;
  padding-right: 18px !important;
  padding-bottom: 70px !important;
}
.hero-7 .hero-contact-form-box .form-clt input::placeholder,
.hero-7 .hero-contact-form-box .form-clt textarea::placeholder,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt input::placeholder,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt textarea::placeholder {
  color: rgba(255, 255, 255, 0.92) !important;
  opacity: 1;
}
.hero-7 .hero-contact-form-box .form-clt input:focus,
.hero-7 .hero-contact-form-box .form-clt textarea:focus,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt input:focus,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt textarea:focus {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
  box-shadow: none !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt .icon {
  display: inline-flex !important;
  position: absolute !important;
  right: 16px !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  pointer-events: none !important;
  z-index: 2 !important;
  line-height: 0 !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt .icon img {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  filter: brightness(0) invert(1);
  opacity: 0.95;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt textarea + .icon,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .form-clt:has(textarea) .icon {
  display: none !important;
}
.xcm-hero-form-cta {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin-top: 4px;
  width: 100%;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn.theme-btn-main.style-2 {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 54px;
  padding: 0 0 0 4px !important;
  border-radius: 0 !important;
  border: none !important;
  background: var(--xcm-form-accent, #8b6b4a) !important;
  box-shadow: none;
  gap: 0;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn.theme-btn-main.style-2:hover {
  background: #a67c52 !important;
  filter: none;
  transform: none;
  box-shadow: none;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn .theme-btn-arrow-left {
  display: none !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn .theme-btn {
  flex: 1 1 auto;
  padding: 16px 18px !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  color: #fff !important;
  background: transparent !important;
  text-align: left !important;
  text-transform: uppercase;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn .theme-btn-arrow-right {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px;
  margin: 4px 4px 4px 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--xcm-form-accent, #8b6b4a) !important;
  box-shadow: none !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn:hover .theme-btn {
  color: #fff !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-quote-btn:hover .theme-btn-arrow-right {
  background: #fff !important;
  color: #14110e !important;
}
.xcm-hero-form-secure {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.78rem;
  line-height: 1.4;
  text-align: left;
}
.xcm-hero-form-secure i {
  display: inline-block;
  color: #d4b48a;
  font-size: 0.68rem;
  line-height: 1;
  flex: 0 0 auto;
}
.xcm-hero-form-more {
  width: 100%;
}
@media (min-width: 1200px) {
  .xcm-hero-form-more[hidden] {
    display: block !important;
  }
}
@media (min-width: 1600px) {
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact {
    padding: 36px 34px 30px !important;
  }
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact h3 {
    font-size: 1.55rem !important;
  }
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-form-trust {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  padding: 7px 12px 7px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.12);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-form-trust__text {
  color: #3d3630;
  font-size: 0.78rem;
  white-space: nowrap;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact .xcm-hero-form-trust__text strong {
  color: #14110e;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
/* ===== Quote form surface mode =====
   SOLID is active via .xcm-hero-form-compact--solid on the form.
   To restore original BuildNow frosted glass: remove that class from index.html
   (keep these rules; they only apply when the modifier class is present).
*/
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid {
  background: #fff !important;
  border: 1px solid rgba(20, 17, 14, 0.14) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.32) !important;
  color: #14110e;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid h3,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid h3[data-xcm-form-title] {
  color: #14110e !important;
  text-shadow: none;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .xcm-hero-form-modehint {
  color: #5c534a !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .form-clt input,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .form-clt textarea,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-focus,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-timeline,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-budget {
  color: #14110e !important;
  background: #f7f4ef !important;
  border: 1px solid rgba(20, 17, 14, 0.22) !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .form-clt input::placeholder,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .form-clt textarea::placeholder,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select.is-empty,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select:invalid,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-focus.is-empty,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-timeline.is-empty,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-budget.is-empty,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-focus:invalid,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-timeline:invalid,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-budget:invalid,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select option[value=""] {
  color: #5c534a !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .form-clt input:focus,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .form-clt textarea:focus,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select:focus,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-focus:focus,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-timeline:focus,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select#xcm-hero-budget:focus {
  color: #14110e !important;
  background: #fff !important;
  border-color: var(--xcm-form-accent, #8b6b4a) !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid select option {
  color: #14110e !important;
  background: #fff !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .form-clt .icon img {
  filter: none;
  opacity: 0.75;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .form-clt--select::after {
  border-right-color: #5c534a !important;
  border-bottom-color: #5c534a !important;
  opacity: 1;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .xcm-hero-option__ui {
  background: #f7f4ef !important;
  border: 1px solid rgba(20, 17, 14, 0.16);
  color: #3d3630;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .xcm-hero-option:hover .xcm-hero-option__ui {
  background: #efe8de !important;
  border-color: rgba(20, 17, 14, 0.28);
  color: #14110e;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .xcm-hero-option.is-active .xcm-hero-option__ui,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .xcm-hero-option:has(input:checked) .xcm-hero-option__ui,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid[data-mode] .xcm-hero-option.is-active .xcm-hero-option__ui,
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid[data-mode] .xcm-hero-option:has(input:checked) .xcm-hero-option__ui {
  background: var(--xcm-form-accent, #8b6b4a) !important;
  border-color: var(--xcm-form-accent, #8b6b4a) !important;
  color: #fff !important;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .xcm-hero-form-secure {
  color: #5c534a;
}
.hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .xcm-hero-form-secure i {
  color: #8b6b4a;
}

/* Mobile quote form: lighter visual weight + progressive more-fields */
@media (max-width: 1199px) {
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid {
    padding: 18px 16px 16px !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22) !important;
  }
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid h3,
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid h3[data-xcm-form-title] {
    font-size: 1.28rem !important;
  }
  .hero-7 .hero-contact-form-box.xcm-hero-form-compact.xcm-hero-form-compact--solid .xcm-hero-form-modehint {
    color: #5c534a !important;
  }
}

/* =========================================================
   Mobile bottom navbar — dark glass, flush bottom, compact
   ========================================================= */
.xcm-bottom-nav {
  display: none;
}
@media (max-width: 1199px) {
  .xcm-bottom-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
    justify-items: center;
    gap: 0;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10055;
    height: 56px;
    min-height: 56px;
    max-height: none;
    padding: 0 4px calc(env(safe-area-inset-bottom, 0px));
    background: rgba(20, 17, 14, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 0;
    border-top: 1px solid rgba(245, 197, 24, 0.18);
    border-radius: 0;
    box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.28);
    font-family: "Barlow", sans-serif;
  }
  body.has-xcm-bottom-nav {
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
  }
  body.has-xcm-bottom-nav .xcm-fab-stack {
    bottom: calc(68px + env(safe-area-inset-bottom, 0px));
    right: 12px;
    gap: 8px;
  }
  body.has-xcm-bottom-nav .xcm-wa-fab {
    display: grid !important;
    width: 44px;
    height: 44px;
    font-size: 22px;
    background: rgba(37, 211, 102, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.28);
    opacity: 0.88;
  }
  body.has-xcm-bottom-nav .xcm-wa-fab:hover,
  body.has-xcm-bottom-nav .xcm-wa-fab:focus-visible {
    background: rgba(37, 211, 102, 0.78);
    opacity: 1;
    transform: scale(1.04);
    outline: none;
  }
  body.has-xcm-bottom-nav .xcm-progress-btn {
    width: 44px;
    height: 44px;
  }
  .xcm-bottom-nav__item,
  .xcm-bottom-nav__quote {
    appearance: none;
    border: 0;
    background: transparent;
    color: rgba(247, 241, 232, 0.58);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 100%;
    height: 56px;
    min-height: 0;
    padding: 0;
    margin: 0;
    font-size: 0.58rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    cursor: pointer;
    transition: color 0.2s ease;
  }
  .xcm-bottom-nav__item i {
    font-size: 1.05rem;
    font-weight: 300;
    line-height: 1;
    color: inherit;
  }
  .xcm-bottom-nav__item.is-active,
  .xcm-bottom-nav__item:hover,
  .xcm-bottom-nav__item:focus-visible {
    color: var(--xcm-yellow, #f5c518);
    outline: none;
  }
  .xcm-bottom-nav__item.is-active i {
    color: var(--xcm-yellow, #f5c518);
  }
  .xcm-bottom-nav__quote {
    color: var(--xcm-yellow, #f5c518);
    font-weight: 700;
    gap: 3px;
    position: relative;
    top: 0;
  }
  .xcm-bottom-nav__quote-orb {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #f7d34a 0%, var(--xcm-yellow, #f5c518) 55%, #e0ae0e 100%);
    color: var(--xcm-dark, #14110e);
    box-shadow: 0 4px 12px rgba(245, 197, 24, 0.28);
    font-size: 0.85rem;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .xcm-bottom-nav__quote span:last-child {
    color: var(--xcm-yellow, #f5c518);
    text-shadow: none;
  }
  .xcm-bottom-nav__quote.is-active .xcm-bottom-nav__quote-orb,
  .xcm-bottom-nav__quote:hover .xcm-bottom-nav__quote-orb,
  .xcm-bottom-nav__quote:focus-visible .xcm-bottom-nav__quote-orb {
    transform: scale(1.06);
    box-shadow: 0 6px 14px rgba(245, 197, 24, 0.36);
    outline: none;
  }
}
@media (min-width: 1200px) {
  .xcm-bottom-nav {
    display: none !important;
  }
}

/* =========================================================
   Inner-page breadcrumb banner — compact height + even shade
   ========================================================= */
.breadcrumb-wrapper {
  position: relative;
  background-color: #6f5538;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.breadcrumb-wrapper::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  /* Solid brand-brown wash edge to edge (not charcoal / not side vignette) */
  background: rgba(111, 85, 56, 0.72) !important;
  opacity: 1 !important;
  z-index: 0 !important;
  pointer-events: none;
}
.breadcrumb-wrapper .container,
.breadcrumb-wrapper .page-heading {
  position: relative;
  z-index: 1;
}
.breadcrumb-wrapper .page-heading {
  padding: 140px 0 72px !important;
}
.breadcrumb-wrapper .page-heading .breadcrumb-title {
  font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  color: #fff !important;
}
.breadcrumb-wrapper .page-heading .breadcrumb-list {
  margin-bottom: 8px !important;
}
.breadcrumb-wrapper .page-heading .breadcrumb-list li,
.breadcrumb-wrapper .page-heading .breadcrumb-list li a {
  color: rgba(255, 255, 255, 0.92) !important;
}
.breadcrumb-wrapper .page-heading .breadcrumb-list li a:hover {
  color: #f5c518 !important;
}
@media (max-width: 1199px) {
  .breadcrumb-wrapper .page-heading {
    padding: 118px 0 56px !important;
  }
}
@media (max-width: 767px) {
  .breadcrumb-wrapper .page-heading {
    padding: 108px 0 48px !important;
  }
  .breadcrumb-wrapper .page-heading .breadcrumb-title {
    font-size: 1.85rem !important;
  }
}

/* About page: trust strip under main image (no fake CEO) */
.about-left-item-style-1 .about-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 4 / 5;
}
.about-left-item-style-1 .client-item.xcm-about-trust {
  margin-top: 28px;
  margin-left: 0;
  max-width: 420px;
}
.about-left-item-style-1 .client-item.xcm-about-trust > img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}
.about-left-item-style-1 .client-item.xcm-about-trust .text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.about-left-item-style-1 .client-item.xcm-about-trust .xcm-about-trust__name {
  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 700;
  color: #14110e;
  line-height: 1.2;
}
.about-left-item-style-1 .client-item.xcm-about-trust .text span {
  color: #5c534a;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  text-transform: none;
}
.about-content-styles-3 .pro-items .pro-head .point {
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* About testimonials: honest review chips (no fake ratings) */
.testimonial-section-6 .testimonial-left-box-style-6 .info-item > img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  object-position: center 20%;
}
.testimonial-section-6 .xcm-review-chip {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 47px;
  padding: 8px 14px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #fff;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.testimonial-section-6 .xcm-review-chip:hover,
.testimonial-section-6 .xcm-review-chip:focus-visible {
  background: rgba(0, 0, 0, 0.72);
  border-color: rgba(245, 197, 24, 0.55);
  color: #fff;
  outline: none;
}
.testimonial-section-6 .xcm-review-chip__brand {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.testimonial-section-6 .xcm-review-chip__brand--ig {
  font-size: 1.35rem;
  color: #fff;
}
.testimonial-section-6 .xcm-review-chip__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
}
.testimonial-section-6 .xcm-review-chip__stars {
  color: #f5c518;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}
.testimonial-section-6 .xcm-review-chip__label {
  font-size: 0.82rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
}

/* Testimonials page (inner) */
.testimonial-section-inner {
  background: #f7f1e8;
}
.testimonial-section-inner .section-title .sub-title {
  color: var(--xcm-brown, #8b6b4a);
}
.xcm-testimonial-card {
  height: 100%;
  background: #fff !important;
  color: var(--xcm-ink, #2a241e);
  border: 1px solid rgba(20, 17, 14, 0.08);
  box-shadow: 0 14px 32px rgba(20, 17, 14, 0.08);
  border-radius: 10px;
  padding: 36px 32px 32px;
  position: relative;
  overflow: hidden;
}
.xcm-testimonial-card .testi-text {
  color: var(--xcm-ink, #2a241e) !important;
  font-size: clamp(1.15rem, 1.6vw, 1.4rem) !important;
  line-height: 1.45 !important;
  margin: 18px 0 28px !important;
}
.xcm-testimonial-card .xcm-trust-stars,
.xcm-testimonial-card .star {
  color: #f5c518;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
}
.xcm-testimonial-card .info-item {
  display: flex;
  align-items: center;
  gap: 14px;
}
.xcm-testimonial-card .info-item > img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 20%;
  flex-shrink: 0;
}
.xcm-testimonial-card .info-item .content h6 {
  margin: 0 0 4px;
  color: var(--xcm-ink, #2a241e);
  font-size: 1.05rem;
  font-weight: 700;
}
.xcm-testimonial-card .info-item .content span {
  display: block;
  color: var(--xcm-muted, #5c534a) !important;
  font-size: 0.92rem !important;
  line-height: 1.35;
}
.xcm-testimonial-pillar {
  height: 100%;
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.08);
  border-radius: 10px;
  padding: 26px 22px 28px;
  box-shadow: 0 10px 24px rgba(20, 17, 14, 0.06);
}
.xcm-testimonial-pillar h3 {
  margin: 0 0 10px;
  font-size: 1.2rem;
  color: var(--xcm-ink, #2a241e);
}
.xcm-testimonial-pillar p {
  margin: 0;
  color: var(--xcm-muted, #5c534a);
  line-height: 1.5;
  font-size: 0.95rem;
}
.xcm-testimonial-pillar a {
  color: var(--xcm-brown, #8b6b4a);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.xcm-testimonial-page-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}
.xcm-honest-trust--page {
  min-height: 100%;
}
@media (max-width: 767.98px) {
  .xcm-testimonial-card {
    padding: 28px 22px 24px;
  }
  .xcm-testimonial-page-ctas {
    flex-direction: column;
    align-items: stretch;
  }
  .xcm-testimonial-page-ctas .theme-btn-main {
    width: 100%;
  }
}

/* Contact page (weROI-inspired reach + Old Harbour) */
.xcm-contact-page {
  padding-bottom: 40px !important;
}
.xcm-contact-page .xcm-contact__media {
  min-height: 520px;
}
.xcm-contact-page-cards {
  margin-top: 36px;
}
.xcm-contact-page-card {
  height: 100%;
  background: #fff;
  border: 1px solid rgba(20, 17, 14, 0.08);
  border-radius: 12px;
  padding: 22px 20px 24px;
  box-shadow: 0 12px 28px rgba(20, 17, 14, 0.06);
}
.xcm-contact-page-card__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #f7f1e8;
  color: #8b6b4a;
  margin-bottom: 14px;
  font-size: 1rem;
}
.xcm-contact-page-card h3 {
  margin: 0 0 8px;
  font-size: 1.05rem;
  color: #14110e;
}
.xcm-contact-page-card p {
  margin: 0;
  color: #5c534a;
  font-size: 0.95rem;
  line-height: 1.45;
}
.xcm-contact-page-card a {
  color: #8b6b4a;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.xcm-contact-page-card a:hover {
  color: #14110e;
}
.xcm-contact-map-section {
  background: #f3ece4;
  padding: 0 0 64px;
}
.xcm-contact-map-section .container {
  position: relative;
}
.xcm-contact-map {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(20, 17, 14, 0.08);
  box-shadow: 0 16px 36px rgba(20, 17, 14, 0.08);
  background: #e4d9cc;
  min-height: 360px;
}
.xcm-contact-map iframe {
  display: block;
  width: 100%;
  height: 380px;
  border: 0;
  filter: grayscale(0.15) contrast(1.02);
}
.xcm-contact-map__open {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 252, 247, 0.96);
  border: 1px solid rgba(20, 17, 14, 0.1);
  color: #14110e !important;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(20, 17, 14, 0.12);
}
.xcm-contact-map__open:hover,
.xcm-contact-map__open:focus-visible {
  background: #fff;
  color: #8b6b4a !important;
  outline: none;
}
.xcm-contact-map-section .xcm-map-note {
  min-height: 0;
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 12px;
  background: #1c1814;
  color: #f7f1e8;
  display: block;
  text-align: left;
  line-height: 1.5;
  font-size: 0.95rem;
}
@media (max-width: 991.98px) {
  .xcm-contact-page .xcm-contact__media {
    min-height: 360px;
  }
  .xcm-contact-map iframe {
    height: 300px;
  }
}

/* About: How we build feature image — smaller, not full-bleed tall */
.our-impact-section-3 .container-fluid {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.our-impact-section-3 .feature-bg-image-style-3 {
  height: auto !important;
  max-height: none;
  margin-bottom: 40px;
  border-radius: 12px;
  overflow: hidden;
}
.our-impact-section-3 .feature-bg-image-style-3 > img {
  display: block;
  width: 100%;
  height: 340px;
  max-height: 340px;
  object-fit: cover;
  object-position: center 35%;
}
.our-impact-section-3 .feature-bg-image-style-3 .feature-bottom-item {
  position: relative;
  right: auto;
  bottom: auto;
  width: 100%;
  gap: 0;
}
.our-impact-section-3 .feature-bg-image-style-3 .feature-bottom-item .feature-box {
  width: 100%;
  gap: 40px;
  padding: 28px 32px;
}
@media (max-width: 991px) {
  .our-impact-section-3 .feature-bg-image-style-3 > img {
    height: 260px;
    max-height: 260px;
  }
  .our-impact-section-3 .feature-bg-image-style-3 .feature-bottom-item .feature-box {
    flex-wrap: wrap;
    gap: 20px;
    padding: 22px 18px;
  }
}
@media (max-width: 767px) {
  .our-impact-section-3 .feature-bg-image-style-3 > img {
    height: 200px;
    max-height: 200px;
  }
  .our-impact-section-3 .feature-bg-image-style-3 {
    margin-top: 12px;
  }
  /* Keep copy visible on mobile (template hid the overlay) */
  .our-impact-section-3 .feature-bg-image-style-3 .feature-bottom-item {
    display: flex;
  }
}


/* Blog comment avatars */
.comment-area .blog-single-comment .image {
  flex: 0 0 92px;
  width: 92px;
  height: 92px;
  border-radius: 10px;
  overflow: hidden;
  background: #efe6d8;
}
.comment-area .blog-single-comment .image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}
.sideber .client-image {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  background: #efe6d8;
}
.sideber .client-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

/* weROI concept pitch popup (simple, premium) */
body.xcm-concept-open { overflow: hidden; }
.weroi-pitch {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: max(1.25rem, env(safe-area-inset-top)) 1.25rem max(1.25rem, env(safe-area-inset-bottom));
  background: rgba(10, 12, 0, 0.78);
  opacity: 0;
  transition: opacity 0.28s ease;
}
.weroi-pitch.is-in { opacity: 1; }
.weroi-pitch[hidden] { display: none !important; }
.weroi-pitch__card {
  position: relative;
  width: min(400px, 100%);
  margin: 0;
  padding: 1.75rem 1.5rem 1.5rem;
  border: 1px solid rgba(246, 245, 243, 0.12);
  border-radius: 12px;
  background: #0a0c00;
  color: #f6f5f3;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45);
  transform: translateY(12px);
  opacity: 0;
  transition: transform 0.32s ease, opacity 0.32s ease;
}
.weroi-pitch.is-in .weroi-pitch__card {
  transform: translateY(0);
  opacity: 1;
}
.weroi-pitch__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(246, 245, 243, 0.7);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}
.weroi-pitch__close:hover,
.weroi-pitch__close:focus-visible {
  color: #f6f5f3;
  background: rgba(246, 245, 243, 0.08);
  outline: none;
}
.weroi-pitch__brand {
  display: inline-flex;
  align-items: center;
  margin: 0 0 1.25rem;
  text-decoration: none;
}
.weroi-pitch__logo {
  display: block;
  width: auto;
  height: 28px;
  filter: brightness(0) invert(1);
}
.weroi-pitch__title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.35rem, 3.5vw, 1.55rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #f6f5f3;
}
.weroi-pitch__body {
  margin: 0 0 1.35rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(246, 245, 243, 0.72);
}
.weroi-pitch__actions {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.weroi-pitch__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.7rem 1rem;
  border-radius: 8px;
  background: #e3ff04;
  color: #0a0c00 !important;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none !important;
  transition: background 0.2s ease;
}
.weroi-pitch__cta:hover,
.weroi-pitch__cta:focus-visible {
  background: #f0ff5c;
  outline: none;
}
.weroi-pitch__dismiss {
  min-height: 40px;
  border: 0;
  background: transparent;
  color: rgba(246, 245, 243, 0.58);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 500;
  cursor: pointer;
}
.weroi-pitch__dismiss:hover,
.weroi-pitch__dismiss:focus-visible {
  color: #f6f5f3;
  outline: none;
}
@media (prefers-reduced-motion: reduce) {
  .weroi-pitch,
  .weroi-pitch__card { transition: none; }
  .weroi-pitch__card { transform: none; }
}

/* legacy class kept for any cached markup */
.xcm-concept { display: none !important; }
