/* Abricos branding and native interactions over the reference's original styles. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 120px; }
.fusion-header-wrapper { position: sticky; top: 0; z-index: 1000; }
.fusion-logo .fusion-logo-link img { width: 270px !important; height: 80px !important; object-fit: contain; }
.fusion-header-sticky-height { display: none !important; }
.fusion-logo-link.color { display: none !important; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid #235db5; outline-offset: 4px; }
#directions .documentation-examples { min-width: 0; }
#directions .documentation-examples > h2 { display: block; margin: 0 0 16px; color: #303157; font-size: 30px; line-height: 1.2; }
#documentation p { text-align: left; font-weight: 400; }
#documentation .documentation-examples__intro { margin: 0 0 28px; color: #303157; font-size: 18px; line-height: 1.5; }
.documentation-stage { padding: 32px; background: #f1f6f9; overflow-wrap: break-word; }
.documentation-stage + .documentation-stage { margin-top: 24px; }
.documentation-stage h3 { margin: 0 0 12px; color: #303157; font-size: 28px; font-weight: 700; line-height: 1.2; }
#documentation .documentation-stage__name { margin: 0 0 12px; color: #303157; font-size: 20px; font-weight: 700; line-height: 1.35; }
#documentation .documentation-stage__description { margin: 0; color: #303157; font-size: 17px; line-height: 1.5; }
#documentation .documentation-stage__status { margin: 24px 0 0; color: #526271; font-size: 15px; line-height: 1.5; }
.services_slide_project { position: relative; }
.services_slide_project .item-project { width: 100%; }
.replica-slide { position: absolute; top: 160px; z-index: 5; display: grid; place-items: center; width: 54px; height: 44px; padding: 8px; border: 0; background: #303157bd; color: #fff; }
.replica-prev { left: 15px; }
.replica-next { right: 15px; }
.replica-slide svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 2; }
.sliders-block .about-slide-pre-block > div { display: flex; gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.sliders-block .about-slide-pre-block > div > div { flex: 0 0 177px; scroll-snap-align: start; }
.sliders-block .about-slide-pre-block > div > div img { max-width: 177px; max-height: 250px; object-fit: contain; }
.sliders-block .about-slide-pre-block > button { padding: 0; border: 0; background-color: transparent; }
.replica-request .form-wraper { display: flex; align-items: end; gap: 30px; width: 100%; }
.replica-field { display: flex; flex: 1; flex-direction: column; min-width: 0; gap: 8px; }
.replica-field label { color: #303157; font-size: 16px; }
.replica-field label span { color: #194ba3; }
.replica-field input { width: 100% !important; height: 48px !important; border: 1px solid #d9dce2 !important; padding: 10px 14px !important; color: #303157 !important; background: #fff !important; }
.replica-submit { width: auto !important; height: 48px; margin: 0 !important; padding: 12px 24px !important; border: 0; background: #303157; color: #fff; font-weight: 600; white-space: nowrap; }
.replica-form-note { margin: 16px 0 0; color: #5c6674; font-size: 12px; line-height: 1.5; }
.footer-v2__logo img { background: transparent; padding: 0; width: 230px; height: auto; filter: brightness(0) invert(1); }
.replica-menu-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; background: transparent; color: #303157; }
.replica-menu-toggle svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; }
@media (max-width: 992px) {
  html { scroll-padding-top: 100px; }
  .fusion-logo .fusion-logo-link img { width: 200px !important; height: 64px !important; }
  .replica-menu-toggle { display: inline-flex; }
  .mobile-menu-v2-wrapper.is-open { display: block !important; visibility: visible !important; opacity: 1 !important; max-height: calc(100dvh - 100px); overflow: auto; }
  .replica-request .form-wraper { flex-direction: column; align-items: stretch; }
  .replica-field { width: 100%; }
}
@media (max-width: 576px) {
  .fusion-logo .fusion-logo-link img { width: 130px !important; height: 54px !important; }
  .replica-slide { top: 140px; width: 44px; }
}
/* The catalog's neutral link class avoids generic advertising filters. */
@media (max-width: 768px) {
  .direction-card-link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


@media (max-width: 360px) {
  .head-container-rt__v2 { width: 0; min-width: 0; }
  .head-modal-btn { display: none; }
}

/* Project previews stay static on hover; the separate slider buttons remain interactive. */
.services_slide_project .progect-all__item--link { pointer-events: none; cursor: default; }
.services_slide_project .progect-all__item--img::before,
.services_slide_project .progect-all__item--img::after { content: none !important; display: none !important; }

.footer-v2__bottom { padding-top: 40px; }

#process .about-block-content img { width: 72px; height: 72px; flex: 0 0 72px; object-fit: contain; }

.services_slide_project .progect-all__item--title span { color: #fff !important; }

/* Keep the supplied logo canvas out of the header and footer layout. */
.fusion-logo-link img { mix-blend-mode: multiply; }
.footer-v2__logo img { filter: none; }
#directions { flex-wrap: wrap; }
.services-scene { position: relative; flex: 0 0 100%; height: clamp(350px, 48vw, 680px); min-height: clamp(350px, 48vw, 680px); overflow: hidden; margin-top: 40px; background: #f3f3f3; isolation: isolate; }
.services-scene__layer { position: absolute; left: 0; bottom: 0; width: 100%; max-width: none; height: auto; pointer-events: none; transform-origin: bottom center; }
.services-scene__layer--1 { z-index: 4; }
.services-scene__layer--2 { z-index: 3; width: 32%; transform: translateY(calc(var(--scene-shift, 0) * 220px)) scale(1.12); }
.services-scene__layer--3 { z-index: 2; transform: translateY(calc(var(--scene-shift, 0) * 110px)) scale(1.06); }
.services-scene__layer--4 { z-index: 1; transform: translateY(calc(var(--scene-shift, 0) * 220px)) scale(1.12); }
@media (max-width: 576px) { .services-scene__layer:not(.services-scene__layer--2) { width: 180%; left: -65%; } .services-scene__layer--2 { width: 45%; } }
@media (prefers-reduced-motion: reduce) { .services-scene__layer { transform: none; } }

@media (max-width: 768px) { #directions { flex-direction: row !important; } #directions > .left, #directions > .documentation-examples { flex: 0 0 100%; width: 100%; } }

/* The construction scene belongs behind the service content. */
#directions { position: relative; isolation: isolate; overflow: hidden; padding: 48px 32px 420px; background: #f3f3f3; }
#directions > .left, #directions > .documentation-examples { position: relative; z-index: 2; }
#directions .services-scene { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; min-height: 0; margin: 0; background: transparent; }
#directions .documentation-stage { background: rgba(255,255,255,.96); }
@media (max-width: 768px) { #directions { padding: 32px 16px 300px; } #directions .services-scene__layer:not(.services-scene__layer--2) { width: 180%; left: -65%; } }

#directions .services-scene__layer { transition: transform .15s cubic-bezier(.16,1,.3,1); }
#directions .services-scene__layer--1 { transform: translate3d(calc(var(--scene-shift, 0) * -45px),calc(var(--scene-shift, 0) * -100px),0) scale(1.08); }
#directions .services-scene__layer--4 { transform: translate3d(calc(var(--scene-shift, 0) * 70px),calc(var(--scene-shift, 0) * 340px),0) scale(1.16); }
@media (prefers-reduced-motion: reduce) { #directions .services-scene__layer { transform: none; transition: none; } }

#directions .services-scene__layer--1 { width: 75%; left: auto; right: 0; opacity: .65; }
#directions .services-scene__layer--4 { opacity: .7; }
@media (min-width: 769px) { #directions { padding-bottom: 360px; } }
@media (max-width: 768px) { #directions .services-scene__layer--1 { width: 160%; left: -60%; right: auto; } }
#directions { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
#directions > .left, #directions > .documentation-examples { width: 100% !important; min-width: 0; }
@media (max-width: 768px) { #directions { grid-template-columns: minmax(0,1fr); } }
