.hero__bg img,
.hero__bg picture,
.service-banner__bg img,
.service-banner__bg picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Keep assistive labels available without changing the visual layout. */
.sr-only:not(:focus):not(:active) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.hero--makel {
  position: relative;
  overflow: hidden;
}

.hero--makel::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  pointer-events: none;
  background: radial-gradient(62% 82% at 50% 96%, rgba(255, 96, 63, 0.72) 0%, rgba(255, 96, 63, 0.26) 40%, rgba(255, 96, 63, 0) 76%);
  z-index: 2;
}

.hero--makel .hero__shape-six {
  position: absolute;
  right: 4%;
  bottom: -13%;
  z-index: 2;
  font-size: clamp(220px, 28vw, 560px);
  line-height: 0.86;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.14);
  user-select: none;
  pointer-events: none;
  animation: cgHeroPulse 7.2s ease-in-out infinite;
}

@keyframes cgHeroPulse {
  0% { transform: translateY(0); opacity: 0.12; }
  50% { transform: translateY(-8px); opacity: 0.2; }
  100% { transform: translateY(0); opacity: 0.12; }
}

.navbar__brand img {
  max-width: 100%;
  height: auto;
}

.navbar__bottom .navbar-menu__nav .nav-item.has-childs > .nav-link {
  display: flex;
  padding-right: 0;
}

.navbar__bottom .navbar-menu__nav .nav-item.has-childs > .nav-link::after {
  content: none;
}

.card-cases__image img,
.card-property__image img,
.card-process__image img,
.quote-section__image img,
.action__bg img,
.image-text__image > img,
.image-text__image > picture,
.image-text__image > picture > img,
.large-image img,
.management__logo img {
  width: 100%;
  display: block;
}

.quote-section:not(.quote-section--full) {
  overflow-x: clip;
}

.card-cases__image figure {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.card-cases__image figure img {
  height: 100%;
  object-fit: cover;
}

.card-cases__content-inner p:last-child {
  margin-bottom: 0;
}

.card-property__image {
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.card-property__image img,
.card-blog__image img,
.card-tasks__image img,
.locations-block__image img,
.brands-slider__slide img {
  height: 100%;
  object-fit: cover;
}

.fast-facts__block .h2 > span {
  display: inline-block;
  min-width: 1ch;
}

.service-list__content h2 a {
  color: inherit;
}

.service-list__content ul {
  margin: 0;
  padding-left: 18px;
}

.brands-slider .brands-slider__slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

.brands-slider .brands-slider__slide a,
.brands-slider .brands-slider__slide img {
  display: block;
  width: 100%;
}

.brands-slider .brands-slider__slide .cg-live-public-picture,
.brands-slider .brands-slider__slide .cg-live-public-picture img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.management__logo img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.tasks-section .card-tasks__content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tasks-section .card-tasks__content p:last-child {
  margin-bottom: 0;
}

.expertise-section__link {
  min-height: 0;
  height: auto;
  white-space: normal;
  text-align: left;
}

.locations-block__image img {
  border-radius: 16px;
}

.cases-slider .card-cases,
.recent-blog .card-blog {
  height: 100%;
}

.recent-blog .card-blog__content .btn {
  padding-left: 0;
}

@media (max-width: 767px) {
  .hero--makel .hero__shape-six {
    right: -8%;
    bottom: -17%;
    font-size: clamp(180px, 62vw, 340px);
  }

  .hero--makel::after {
    height: 46%;
  }

  .locations-block__image {
    margin-top: 20px;
  }

  .tasks-section .card-tasks__content {
    margin-top: 0;
  }
}

/* ── Hero heading mobile fix ── */
@media (max-width: 767px) {
  .hero__top h1,
  .case-banner__content h1 {
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: none;
    -webkit-hyphens: none;
  }
}

/* ── Project/Team archive heading mobile fix ── */
@media (max-width: 1023px) {
  .project-archive .heading,
  .team-archive .heading {
    padding-top: 170px;
    padding-bottom: 120px;
  }
  .project-archive .heading + .cases-list,
  .team-archive .heading + .team-section {
    margin-top: -80px;
  }
}

/* ── Project archive: card-cases figure aspect-ratio override ── */
.project-archive .card-cases__image figure {
  aspect-ratio: 456 / 512;
}
@media (max-width: 767px) {
  .project-archive .card-cases__image figure {
    aspect-ratio: 4 / 3;
  }
}

/* ── Project archive: card-cases img fill figure ── */
.project-archive .card-cases__image figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Help home: match live FAQ spacing when the videos block precedes FAQ blocks. */
.help-videos + .questions-section {
  background: #F9F6FF;
  padding-top: var(--py-section);
  padding-bottom: 130px;
  margin-bottom: 0;
  border-radius: 32px;
}

@media (min-width: 1024px) {
  .help-videos + .questions-section {
    padding-bottom: 250px;
  }
}

@media (min-width: 1440px) {
  .help-videos + .questions-section {
    padding-bottom: 350px;
  }
}

@media (min-width: 1600px) {
  .help-videos + .questions-section {
    margin-left: 50px;
    margin-right: 50px;
    width: calc(100% - 100px);
  }
}

/* Help home: mirror live's 60px breathing room between stacked FAQ blocks. */
.help-videos + .questions-section .questions-section__item-row:not(:last-child) .questions-section__list {
  margin-bottom: 60px;
}
