.elementor-502 .elementor-element.elementor-element-57567ef7{--display:flex;--min-height:460px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;}.elementor-502 .elementor-element.elementor-element-57567ef7::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-background-video-container::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .e-con-inner > .elementor-background-video-container::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-background-slideshow::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .e-con-inner > .elementor-background-slideshow::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://onedream.miroslav.in.rs/wp-content/uploads/2026/09/1972-opel-gt-restoration-completed.jpg");--background-overlay:'';background-position:0px -80px;background-repeat:no-repeat;background-size:100% auto;}.elementor-502 .elementor-element.elementor-element-c67a1fd{text-align:start;}.elementor-502 .elementor-element.elementor-element-18fd53e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--flex-wrap:wrap;}.elementor-502 .elementor-element.elementor-element-c873a05{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-502 .elementor-element.elementor-element-9ea95ed{text-align:center;}.elementor-502 .elementor-element.elementor-element-9ea95ed img{width:100%;}.elementor-502 .elementor-element.elementor-element-3519856{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-502 .elementor-element.elementor-element-98799ff{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-502 .elementor-element.elementor-element-a01d6a1{text-align:center;}.elementor-502 .elementor-element.elementor-element-a01d6a1 img{width:100%;}.elementor-502 .elementor-element.elementor-element-0da336d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-502 .elementor-element.elementor-element-b23b86f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-502 .elementor-element.elementor-element-b312283{text-align:center;}.elementor-502 .elementor-element.elementor-element-b312283 img{width:100%;}.elementor-502 .elementor-element.elementor-element-7777f9c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-502 .elementor-element.elementor-element-8450513{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-502 .elementor-element.elementor-element-398f16d{text-align:center;}.elementor-502 .elementor-element.elementor-element-398f16d img{width:100%;}.elementor-502 .elementor-element.elementor-element-d4d91a5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-502 .elementor-element.elementor-element-15a38df{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-502 .elementor-element.elementor-element-788b7ee{text-align:center;}.elementor-502 .elementor-element.elementor-element-788b7ee img{width:100%;}.elementor-502 .elementor-element.elementor-element-64dccd8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-502 .elementor-element.elementor-element-682fea5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:25px;--margin-bottom:25px;--margin-left:0px;--margin-right:0px;}.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-502 .elementor-element.elementor-element-1e615b6{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-502 .elementor-element.elementor-element-20633f8{--divider-border-style:solid;--divider-color:#053A81;--divider-border-width:1px;}.elementor-502 .elementor-element.elementor-element-20633f8 .elementor-divider-separator{width:30%;margin:0 auto;margin-center:0;}.elementor-502 .elementor-element.elementor-element-20633f8 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-502 .elementor-element.elementor-element-ffa7173{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:25px;--margin-bottom:25px;--margin-left:0px;--margin-right:0px;}.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-502 .elementor-element.elementor-element-3ed3948{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-502 .elementor-element.elementor-element-6e52efd{--divider-border-style:solid;--divider-color:#053A81;--divider-border-width:1px;}.elementor-502 .elementor-element.elementor-element-6e52efd .elementor-divider-separator{width:30%;margin:0 auto;margin-center:0;}.elementor-502 .elementor-element.elementor-element-6e52efd .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-502 .elementor-element.elementor-element-0d68ddf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:25px;--margin-bottom:25px;--margin-left:0px;--margin-right:0px;}.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-502 .elementor-element.elementor-element-4d9db9d{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-502 .elementor-element.elementor-element-3ce5abb{--divider-border-style:solid;--divider-color:#053A81;--divider-border-width:1px;}.elementor-502 .elementor-element.elementor-element-3ce5abb .elementor-divider-separator{width:30%;margin:0 auto;margin-center:0;}.elementor-502 .elementor-element.elementor-element-3ce5abb .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-502 .elementor-element.elementor-element-a559023{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:25px;--margin-bottom:25px;--margin-left:0px;--margin-right:0px;}.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-502 .elementor-element.elementor-element-64646f1{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-502 .elementor-element.elementor-element-ec128bc{--divider-border-style:solid;--divider-color:#053A81;--divider-border-width:1px;}.elementor-502 .elementor-element.elementor-element-ec128bc .elementor-divider-separator{width:30%;margin:0 auto;margin-center:0;}.elementor-502 .elementor-element.elementor-element-ec128bc .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-502 .elementor-element.elementor-element-9d29eb3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-502 .elementor-element.elementor-element-bc25020{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:25px;--margin-bottom:25px;--margin-left:0px;--margin-right:0px;}.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-502 .elementor-element.elementor-element-4dd00bf{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-502 .elementor-element.elementor-element-8e73d78{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(min-width:1025px){.elementor-502 .elementor-element.elementor-element-57567ef7::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-background-video-container::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .e-con-inner > .elementor-background-video-container::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-background-slideshow::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .e-con-inner > .elementor-background-slideshow::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-attachment:fixed;}}@media(max-width:1024px){.elementor-502 .elementor-element.elementor-element-57567ef7::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-background-video-container::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .e-con-inner > .elementor-background-video-container::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-background-slideshow::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .e-con-inner > .elementor-background-slideshow::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}}@media(max-width:767px){.elementor-502 .elementor-element.elementor-element-57567ef7{--min-height:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:10px;--padding-right:10px;}.elementor-502 .elementor-element.elementor-element-57567ef7::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-background-video-container::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .e-con-inner > .elementor-background-video-container::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-background-slideshow::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .e-con-inner > .elementor-background-slideshow::before, .elementor-502 .elementor-element.elementor-element-57567ef7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px -25px;}}/* Start custom CSS for heading, class: .elementor-element-c67a1fd */.elementor-502 .elementor-element.elementor-element-c67a1fd {
    display: inline-block;
    background: rgba(255, 255, 255, 0.32);
    padding: 10px 22px;
    border-radius: 5px;
}

@media (max-width: 767px) {
    .elementor-502 .elementor-element.elementor-element-c67a1fd {
        background: transparent;
        padding: 0;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c873a05 */.elementor-502 .elementor-element.elementor-element-c873a05 img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-98799ff */.elementor-502 .elementor-element.elementor-element-98799ff img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b23b86f */.elementor-502 .elementor-element.elementor-element-b23b86f img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8450513 */.elementor-502 .elementor-element.elementor-element-8450513 img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-15a38df */.elementor-502 .elementor-element.elementor-element-15a38df img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-18fd53e *//* =========================================================
   PROJECT NAVIGATION LAYOUT
   ========================================================= */

/* Desktop: five cards in one row */
.elementor-502 .elementor-element.elementor-element-18fd53e .project-nav-card {
    flex: 0 0 calc((100% - 64px) / 5);
    min-width: 0;
    position: relative;
    cursor: pointer;
}

/* Tablet: three cards per row */
@media (max-width: 1024px) {
    .elementor-502 .elementor-element.elementor-element-18fd53e .project-nav-card {
        flex-basis: calc((100% - 32px) / 3);
    }
}

/* Mobile: two cards per row */
@media (max-width: 767px) {
    .elementor-502 .elementor-element.elementor-element-18fd53e .project-nav-card {
        flex-basis: calc((100% - 16px) / 2);
    }
}


/* =========================================================
   ANCHOR NAVIGATION
   ========================================================= */

html {
    scroll-behavior: smooth;
}

/* Default anchor offset */
.project-gallery {
    scroll-margin-top: 120px;
}

/* Desktop: account for header + sticky project navigation */
@media (min-width: 1025px) {
    .project-gallery {
        scroll-margin-top: 330px;
    }
}


/* =========================================================
   STICKY PROJECT NAVIGATION - DESKTOP ONLY
   ========================================================= */

@media (min-width: 1025px) {
    .elementor-502 .elementor-element.elementor-element-18fd53e {
        position: sticky;
        top: 120px;
        z-index: 20;
        background: #fff;
        padding-top: 6px;
        padding-bottom: 2px;
    }
}


/* =========================================================
   PROJECT CARD HOVER
   ========================================================= */

/* Keep the thumbnail crop clean during hover */
.elementor-502 .elementor-element.elementor-element-18fd53e .project-nav-card .elementor-widget-image {
    overflow: hidden;
}

/* Smooth image transition */
.elementor-502 .elementor-element.elementor-element-18fd53e .project-nav-card img {
    transition: transform 0.35s ease;
}

/* Subtle zoom */
.elementor-502 .elementor-element.elementor-element-18fd53e .project-nav-card:hover img {
    transform: scale(1.04);
}


/* =========================================================
   IN-PROCESS BADGE
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-18fd53e .in-process-card::before {
    content: "IN PROCESS";
    position: absolute;
    top: 8px;
    left: 8px;
    right: auto;
    bottom: auto;
    z-index: 20;

    display: block;
    width: max-content;
    height: auto;
    min-width: 0;
    min-height: 0;

    padding: 5px 8px;
    margin: 0;

    background: #e92b16;
    color: #fff;

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.5px;
    white-space: nowrap;

    pointer-events: none;
}

/* Slightly smaller badge on mobile */
@media (max-width: 767px) {
    .elementor-502 .elementor-element.elementor-element-18fd53e .in-process-card::before {
        top: 6px;
        left: 6px;
        padding: 4px 6px;
        font-size: 10px;
    }
}

/* Smooth transition into compact sticky mode */
.elementor-502 .elementor-element.elementor-element-18fd53e {
    transition: padding 0.25s ease;
}

.elementor-502 .elementor-element.elementor-element-18fd53e .project-nav-card img,
.elementor-502 .elementor-element.elementor-element-18fd53e .project-nav-card .elementor-heading-title {
    transition: all 0.25s ease;
}

/* Compact sticky state - desktop only */
@media (min-width: 1025px) {

    .elementor-502 .elementor-element.elementor-element-18fd53e.is-sticky {
        padding-top: 10px;
        padding-bottom: 0;
    }

    .elementor-502 .elementor-element.elementor-element-18fd53e.is-sticky .project-nav-card img {
        width: 82%;
        height: auto;
        margin: 0 auto;
        display: block;
    }

    .elementor-502 .elementor-element.elementor-element-18fd53e.is-sticky .project-nav-card .elementor-heading-title {
        font-size: 13px;
        line-height: 1.1;
        margin: 0;
    }
    
    .elementor-502 .elementor-element.elementor-element-18fd53e.is-sticky .project-nav-card .elementor-widget-heading {
        margin-top: 4px;
        margin-bottom: 0;
    }
    
    /* Align project titles with compact sticky images */
    .elementor-502 .elementor-element.elementor-element-18fd53e.is-sticky .project-nav-card .elementor-widget-heading {
        width: 82%;
        margin: 5px auto 0;
    }
}/* End custom CSS */
/* Start custom CSS for gallery, class: .elementor-element-1e615b6 *//* =========================================================
   DESKTOP LAYOUT
   The first image is the featured/final result.
   Images 2 and 3 appear in the right column.
   Images 4 and 5 form the row below.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-container {
    display: grid !important;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 220px 220px 260px;
    grid-auto-rows: 220px;
    gap: 10px;
}


/* =========================================================
   GALLERY ITEM RESET
   Overrides Elementor's default gallery positioning so
   CSS Grid can control the layout.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item {
    position: relative !important;
    width: auto !important;
    height: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    overflow: hidden;
}


/* =========================================================
   FEATURED / FINAL IMAGE
   The first image spans two rows and receives a subtle
   visual emphasis to highlight the completed project.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    z-index: 1;
}


/* =========================================================
   PROCESS IMAGES
   Images 2 and 3 appear beside the featured image.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
}


/* =========================================================
   LOWER PROCESS ROW
   Images 4 and 5 appear below the featured section.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:nth-child(4) {
    grid-column: 1;
    grid-row: 3;
}

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:nth-child(5) {
    grid-column: 2;
    grid-row: 3;
}


/* =========================================================
   ADDITIONAL IMAGES
   Any images after the first five continue automatically
   below the main gallery composition.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:nth-child(n+6) {
    grid-column: auto;
    grid-row: auto;
}


/* =========================================================
   IMAGE DISPLAY
   Ensures every image completely fills its grid area.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item .e-gallery-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}


/* =========================================================
   FEATURED IMAGE HOVER
   Adds a subtle zoom only to the final-result image.
   Process images remain visually neutral.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:first-child .e-gallery-image {
    transition: transform 0.4s ease;
}

.elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:first-child:hover .e-gallery-image {
    transform: scale(1.03);
}


/* =========================================================
   TABLET
   Featured image spans the full width.
   Remaining images appear in two columns.
   ========================================================= */

@media (max-width: 1024px) {

    .elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 200px;
        gap: 10px;
    }

    /* Featured image across both columns */
    .elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 320px;
    }

    /* Remaining images use the regular two-column grid */
    .elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }
}


/* =========================================================
   MOBILE
   Featured image spans the full width.
   Remaining images appear in a compact two-column grid.
   ========================================================= */

@media (max-width: 767px) {

    .elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 160px;
        gap: 8px;
    }

    /* Featured / final image */
    .elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 260px;
    }

    /* Remaining process images */
    .elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }

    /* Disable hover animation on touch/mobile layouts */
    .elementor-502 .elementor-element.elementor-element-1e615b6 .e-gallery-item:first-child:hover .e-gallery-image {
        transform: none;
    }
}/* End custom CSS */
/* Start custom CSS for gallery, class: .elementor-element-3ed3948 *//* =========================================================
   DESKTOP LAYOUT
   The first image is the featured/final result.
   Images 2 and 3 appear in the right column.
   Images 4 and 5 form the row below.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-container {
    display: grid !important;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 220px 220px 260px;
    grid-auto-rows: 220px;
    gap: 10px;
}


/* =========================================================
   GALLERY ITEM RESET
   Overrides Elementor's default gallery positioning so
   CSS Grid can control the layout.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item {
    position: relative !important;
    width: auto !important;
    height: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    overflow: hidden;
}


/* =========================================================
   FEATURED / FINAL IMAGE
   The first image spans two rows and receives a subtle
   visual emphasis to highlight the completed project.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    z-index: 1;
}


/* =========================================================
   PROCESS IMAGES
   Images 2 and 3 appear beside the featured image.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
}


/* =========================================================
   LOWER PROCESS ROW
   Images 4 and 5 appear below the featured section.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:nth-child(4) {
    grid-column: 1;
    grid-row: 3;
}

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:nth-child(5) {
    grid-column: 2;
    grid-row: 3;
}


/* =========================================================
   ADDITIONAL IMAGES
   Any images after the first five continue automatically
   below the main gallery composition.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:nth-child(n+6) {
    grid-column: auto;
    grid-row: auto;
}


/* =========================================================
   IMAGE DISPLAY
   Ensures every image completely fills its grid area.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item .e-gallery-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}


/* =========================================================
   FEATURED IMAGE HOVER
   Adds a subtle zoom only to the final-result image.
   Process images remain visually neutral.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:first-child .e-gallery-image {
    transition: transform 0.4s ease;
}

.elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:first-child:hover .e-gallery-image {
    transform: scale(1.03);
}


/* =========================================================
   TABLET
   Featured image spans the full width.
   Remaining images appear in two columns.
   ========================================================= */

@media (max-width: 1024px) {

    .elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 200px;
        gap: 10px;
    }

    /* Featured image across both columns */
    .elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 320px;
    }

    /* Remaining images use the regular two-column grid */
    .elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }
}


/* =========================================================
   MOBILE
   Featured image spans the full width.
   Remaining images appear in a compact two-column grid.
   ========================================================= */

@media (max-width: 767px) {

    .elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 160px;
        gap: 8px;
    }

    /* Featured / final image */
    .elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 260px;
    }

    /* Remaining process images */
    .elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }

    /* Disable hover animation on touch/mobile layouts */
    .elementor-502 .elementor-element.elementor-element-3ed3948 .e-gallery-item:first-child:hover .e-gallery-image {
        transform: none;
    }
}/* End custom CSS */
/* Start custom CSS for gallery, class: .elementor-element-4d9db9d *//* =========================================================
   DESKTOP LAYOUT
   The first image is the featured/final result.
   Images 2 and 3 appear in the right column.
   Images 4 and 5 form the row below.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-container {
    display: grid !important;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 220px 220px 260px;
    grid-auto-rows: 220px;
    gap: 10px;
}


/* =========================================================
   GALLERY ITEM RESET
   Overrides Elementor's default gallery positioning so
   CSS Grid can control the layout.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item {
    position: relative !important;
    width: auto !important;
    height: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    overflow: hidden;
}


/* =========================================================
   FEATURED / FINAL IMAGE
   The first image spans two rows and receives a subtle
   visual emphasis to highlight the completed project.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    z-index: 1;
}


/* =========================================================
   PROCESS IMAGES
   Images 2 and 3 appear beside the featured image.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
}


/* =========================================================
   LOWER PROCESS ROW
   Images 4 and 5 appear below the featured section.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:nth-child(4) {
    grid-column: 1;
    grid-row: 3;
}

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:nth-child(5) {
    grid-column: 2;
    grid-row: 3;
}


/* =========================================================
   ADDITIONAL IMAGES
   Any images after the first five continue automatically
   below the main gallery composition.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:nth-child(n+6) {
    grid-column: auto;
    grid-row: auto;
}


/* =========================================================
   IMAGE DISPLAY
   Ensures every image completely fills its grid area.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item .e-gallery-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}


/* =========================================================
   FEATURED IMAGE HOVER
   Adds a subtle zoom only to the final-result image.
   Process images remain visually neutral.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:first-child .e-gallery-image {
    transition: transform 0.4s ease;
}

.elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:first-child:hover .e-gallery-image {
    transform: scale(1.03);
}


/* =========================================================
   TABLET
   Featured image spans the full width.
   Remaining images appear in two columns.
   ========================================================= */

@media (max-width: 1024px) {

    .elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 200px;
        gap: 10px;
    }

    /* Featured image across both columns */
    .elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 320px;
    }

    /* Remaining images use the regular two-column grid */
    .elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }
}


/* =========================================================
   MOBILE
   Featured image spans the full width.
   Remaining images appear in a compact two-column grid.
   ========================================================= */

@media (max-width: 767px) {

    .elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 160px;
        gap: 8px;
    }

    /* Featured / final image */
    .elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 260px;
    }

    /* Remaining process images */
    .elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }

    /* Disable hover animation on touch/mobile layouts */
    .elementor-502 .elementor-element.elementor-element-4d9db9d .e-gallery-item:first-child:hover .e-gallery-image {
        transform: none;
    }
}/* End custom CSS */
/* Start custom CSS for gallery, class: .elementor-element-64646f1 *//* =========================================================
   DESKTOP LAYOUT
   The first image is the featured/final result.
   Images 2 and 3 appear in the right column.
   Images 4 and 5 form the row below.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-container {
    display: grid !important;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 220px 220px 260px;
    grid-auto-rows: 220px;
    gap: 10px;
}


/* =========================================================
   GALLERY ITEM RESET
   Overrides Elementor's default gallery positioning so
   CSS Grid can control the layout.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item {
    position: relative !important;
    width: auto !important;
    height: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    overflow: hidden;
}


/* =========================================================
   FEATURED / FINAL IMAGE
   The first image spans two rows and receives a subtle
   visual emphasis to highlight the completed project.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    z-index: 1;
}


/* =========================================================
   PROCESS IMAGES
   Images 2 and 3 appear beside the featured image.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
}


/* =========================================================
   LOWER PROCESS ROW
   Images 4 and 5 appear below the featured section.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:nth-child(4) {
    grid-column: 1;
    grid-row: 3;
}

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:nth-child(5) {
    grid-column: 2;
    grid-row: 3;
}


/* =========================================================
   ADDITIONAL IMAGES
   Any images after the first five continue automatically
   below the main gallery composition.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:nth-child(n+6) {
    grid-column: auto;
    grid-row: auto;
}


/* =========================================================
   IMAGE DISPLAY
   Ensures every image completely fills its grid area.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item .e-gallery-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}


/* =========================================================
   FEATURED IMAGE HOVER
   Adds a subtle zoom only to the final-result image.
   Process images remain visually neutral.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:first-child .e-gallery-image {
    transition: transform 0.4s ease;
}

.elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:first-child:hover .e-gallery-image {
    transform: scale(1.03);
}


/* =========================================================
   TABLET
   Featured image spans the full width.
   Remaining images appear in two columns.
   ========================================================= */

@media (max-width: 1024px) {

    .elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 200px;
        gap: 10px;
    }

    /* Featured image across both columns */
    .elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 320px;
    }

    /* Remaining images use the regular two-column grid */
    .elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }
}


/* =========================================================
   MOBILE
   Featured image spans the full width.
   Remaining images appear in a compact two-column grid.
   ========================================================= */

@media (max-width: 767px) {

    .elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 160px;
        gap: 8px;
    }

    /* Featured / final image */
    .elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 260px;
    }

    /* Remaining process images */
    .elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }

    /* Disable hover animation on touch/mobile layouts */
    .elementor-502 .elementor-element.elementor-element-64646f1 .e-gallery-item:first-child:hover .e-gallery-image {
        transform: none;
    }
}/* End custom CSS */
/* Start custom CSS for gallery, class: .elementor-element-4dd00bf *//* =========================================================
   DESKTOP LAYOUT
   The first image is the featured/final result.
   Images 2 and 3 appear in the right column.
   Images 4 and 5 form the row below.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-container {
    display: grid !important;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 220px 220px 260px;
    grid-auto-rows: 220px;
    gap: 10px;
}


/* =========================================================
   GALLERY ITEM RESET
   Overrides Elementor's default gallery positioning so
   CSS Grid can control the layout.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item {
    position: relative !important;
    width: auto !important;
    height: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    overflow: hidden;
}


/* =========================================================
   FEATURED / FINAL IMAGE
   The first image spans two rows and receives a subtle
   visual emphasis to highlight the completed project.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    z-index: 1;
}


/* =========================================================
   PROCESS IMAGES
   Images 2 and 3 appear beside the featured image.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
}


/* =========================================================
   LOWER PROCESS ROW
   Images 4 and 5 appear below the featured section.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:nth-child(4) {
    grid-column: 1;
    grid-row: 3;
}

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:nth-child(5) {
    grid-column: 2;
    grid-row: 3;
}


/* =========================================================
   ADDITIONAL IMAGES
   Any images after the first five continue automatically
   below the main gallery composition.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:nth-child(n+6) {
    grid-column: auto;
    grid-row: auto;
}


/* =========================================================
   IMAGE DISPLAY
   Ensures every image completely fills its grid area.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item .e-gallery-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}


/* =========================================================
   FEATURED IMAGE HOVER
   Adds a subtle zoom only to the final-result image.
   Process images remain visually neutral.
   ========================================================= */

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:first-child .e-gallery-image {
    transition: transform 0.4s ease;
}

.elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:first-child:hover .e-gallery-image {
    transform: scale(1.03);
}


/* =========================================================
   TABLET
   Featured image spans the full width.
   Remaining images appear in two columns.
   ========================================================= */

@media (max-width: 1024px) {

    .elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 200px;
        gap: 10px;
    }

    /* Featured image across both columns */
    .elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 320px;
    }

    /* Remaining images use the regular two-column grid */
    .elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }
}


/* =========================================================
   MOBILE
   Featured image spans the full width.
   Remaining images appear in a compact two-column grid.
   ========================================================= */

@media (max-width: 767px) {

    .elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        grid-auto-rows: 160px;
        gap: 8px;
    }

    /* Featured / final image */
    .elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:first-child {
        grid-column: 1 / -1;
        grid-row: auto;
        min-height: 260px;
    }

    /* Remaining process images */
    .elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:nth-child(n+2) {
        grid-column: auto;
        grid-row: auto;
    }

    /* Disable hover animation on touch/mobile layouts */
    .elementor-502 .elementor-element.elementor-element-4dd00bf .e-gallery-item:first-child:hover .e-gallery-image {
        transform: none;
    }
}/* End custom CSS */