.elementor-2158 .elementor-element.elementor-element-76855ab{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-2158 .elementor-element.elementor-element-76855ab.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-2158 .elementor-element.elementor-element-959dae8{margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2158 .elementor-element.elementor-element-959dae8 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:72px;font-weight:700;line-height:84px;letter-spacing:-1.92px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2158 .elementor-element.elementor-element-3208e8c{font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;line-height:12px;letter-spacing:0px;}.elementor-widget-portfolio a .elementor-portfolio-item__overlay{background-color:var( --e-global-color-accent );}.elementor-widget-portfolio .elementor-portfolio-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-portfolio .elementor-portfolio__filter{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-portfolio .elementor-portfolio__filter.elementor-active{color:var( --e-global-color-primary );}.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-post__thumbnail__link{padding-bottom:calc( 0.68 * 100% );}.elementor-2158 .elementor-element.elementor-element-5007972:after{content:"0.68";position:absolute;color:transparent;}.elementor-2158 .elementor-element.elementor-element-5007972{--grid-row-gap:50px;--grid-column-gap:50px;}.elementor-2158 .elementor-element.elementor-element-5007972 > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio-item__img, .elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio-item__overlay{border-radius:0px 0px 0px 0px;}.elementor-2158 .elementor-element.elementor-element-5007972 a .elementor-portfolio-item__overlay{background-color:var( --e-global-color-accent );}.elementor-2158 .elementor-element.elementor-element-5007972 a .elementor-portfolio-item__title{color:var( --e-global-color-secondary );}.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filter{font-family:"Space Grotesk", Sans-serif;font-size:25px;font-weight:500;line-height:42px;letter-spacing:0.8px;word-spacing:0px;}.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filter:not(:last-child){margin-right:calc(10px/2);}.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filter:not(:first-child){margin-left:calc(10px/2);}.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filters{margin-bottom:10px;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-portfolio .elementor-portfolio-item__title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-portfolio .elementor-portfolio__filter{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:767px){.elementor-2158 .elementor-element.elementor-element-76855ab{--padding-top:350px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-2158 .elementor-element.elementor-element-959dae8{padding:0px 0px 0px 0px;}.elementor-2158 .elementor-element.elementor-element-959dae8 .elementor-heading-title{font-size:52px;line-height:1em;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-2158 .elementor-element.elementor-element-3208e8c{font-size:18px;line-height:1.3em;}.elementor-widget-portfolio .elementor-portfolio-item__title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-portfolio .elementor-portfolio__filter{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}/* Start custom CSS for portfolio, class: .elementor-element-5007972 *//* --- DESKTOP & GENERAL STYLES --- */
.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filters {
    display: flex !important;
    flex-wrap: wrap; /* Allows items to wrap on mobile */
    justify-content: flex-start !important;
    text-align: left !important;
    margin-bottom: 50px;
    padding-left: 0;
    list-style: none;
    border-bottom: 1px solid #eeeeee;
}

.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filter {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #888888;
    padding: 15px 25px 15px 0 !important; /* Right padding for spacing */
    margin: 0;
    transition: all 0.3s ease;
}

.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filter.elementor-active {
    color: #000000;
    position: relative;
}

.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filter.elementor-active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 20px;
    height: 2px;
    background-color: #000000;
}

/* Permanent Overlay Styles */
.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio-item__overlay {
    opacity: 1 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 40%) !important;
    vertical-align: bottom;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    padding: 30px !important;
    transition: none !important;
}

.elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio-item__title {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    margin-bottom: 5px !important;
}

/* --- TABLET RESPONSIVENESS (1024px and below) --- */
@media (max-width: 1024px) {
    .elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filters {
        margin-bottom: 30px;
    }
    .elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio-item__overlay {
        padding: 20px !important;
    }
}

/* --- MOBILE RESPONSIVENESS (767px and below) --- */
@media (max-width: 767px) {
    .elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filters {
        border-bottom: 1px solid #eeeeee; /* Keep the line for structure */
        margin-bottom: 30px;
        gap: 10px; /* Adds space between wrapped rows */
    }
    
    .elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filter {
        font-size: 13px !important; /* Larger, readable size for mobile */
        padding: 8px 15px 12px 0 !important; /* Balanced padding for tapping */
        letter-spacing: 1px;
    }

    .elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio-item__overlay {
        padding: 15px !important;
    }

    .elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio-item__title {
        font-size: 16px !important; 
        line-height: 1.3 !important;
    }

    /* Adjust the active dash position for mobile */
    .elementor-2158 .elementor-element.elementor-element-5007972 .elementor-portfolio__filter.elementor-active::after {
        bottom: 0px; 
        width: 15px;
    }
}/* End custom CSS */