/* V3 compatibility refinements: keep legacy vertical timeline styles from
   positioning modern grid cards on top of one another. */
.section.process {overflow:visible;}
.process .process-timeline {
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:clamp(14px,1.7vw,24px)!important;
  max-width:100%!important;
  width:100%!important;
  margin:clamp(25px,3vw,48px) 0 0!important;
  padding:0!important;
  position:relative!important;
  align-items:stretch!important;
}
.process .process-timeline::after,
.process .process-timeline::before {content:none!important;display:none!important;}
.process .process-timeline > .process-step,
.process .process-timeline > .process-step:nth-child(odd),
.process .process-timeline > .process-step:nth-child(even) {
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  inset:auto!important;
  left:0!important;
  right:auto!important;
  float:none!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:245px!important;
  margin:0!important;
  padding:clamp(22px,2.2vw,31px)!important;
  text-align:left!important;
  overflow:visible!important;
  background:#fffefa!important;
  border:1px solid rgba(24,65,61,.11)!important;
  border-radius:20px!important;
  box-shadow:0 12px 35px rgba(25,65,58,.05)!important;
}
.process .process-timeline > .process-step:hover {
  transform:translateY(-4px)!important;
  box-shadow:0 24px 48px rgba(25,65,58,.1)!important;
}
.process .process-step > .process-icon,
.process .process-step:nth-child(even) > .process-icon {
  box-sizing:border-box!important;
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  margin:0 0 23px!important;
  flex-shrink:0;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  border:2px solid #a77e60!important;
  background:#e7eee8!important;
  color:#295550!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
.process .process-step > .process-content,
.process .process-step:nth-child(odd) > .process-content,
.process .process-step:nth-child(even) > .process-content {
  box-sizing:border-box!important;
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow-wrap:break-word;
  text-align:left!important;
  background:none!important;
  box-shadow:none!important;
  border:none!important;
}
.process .process-content h3 {font-size:clamp(1.2rem,1.55vw,1.55rem)!important;line-height:1.3;overflow-wrap:anywhere;}
.process .process-content p {font-size:clamp(.85rem,.95vw,.94rem);line-height:1.8;overflow-wrap:break-word;}
.process .section-title h2 {font-size:clamp(2.7rem,4vw,4.3rem);text-wrap:balance;}
/* Keep all image cards in their own layout boxes, including long localized titles. */
.blog-grid,.grid,.gallery-grid,.services .grid {min-width:0;}
.b-card,.card,.service-card,.gallery-item {min-width:0;}
.b-card-img-link img,.gallery-item img {max-width:100%;}
.hero-bg-layer {background-color:#29464c;}
@media(max-width:1100px) {
  .process .process-timeline {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .process .process-timeline > .process-step {min-height:240px!important;}
}
@media(max-width:620px) {
  .process .process-timeline {grid-template-columns:minmax(0,1fr)!important;gap:15px!important;}
  .process .process-timeline > .process-step {min-height:0!important;padding:23px!important;}
  .process .process-step > .process-icon {margin-bottom:15px!important;}
  .process .section-title h2 {font-size:clamp(2.35rem,9vw,3.25rem);}
  .hero-inner h1 {overflow-wrap:break-word;}
}

/* Small essential navigation icons do not depend on an external icon CDN. */
.native-icon {display:inline-block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.mobile-header-actions .native-icon {width:21px;height:21px;}
.mobile-action-bar .native-icon {width:20px;height:20px;}
.mobile-header-actions .fa-bars,.mobile-header-actions .fa-calendar-check,
.mobile-action-bar i.fa-solid,.mobile-action-bar i.fa-regular,.mobile-action-bar i.fa-brands {display:none!important;}
