.elementor-1507 .elementor-element.elementor-element-2053aab{--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:flex-start;--overflow:hidden;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-1507 .elementor-element.elementor-element-74108e9{--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:flex-start;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );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-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1507 .elementor-element.elementor-element-3cfc4ba .elementor-button{background-color:#4A3328;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:600;line-height:24px;border-radius:0px 0px 0px 0px;padding:9px 24px 9px 24px;}.elementor-1507 .elementor-element.elementor-element-3cfc4ba .elementor-button:hover, .elementor-1507 .elementor-element.elementor-element-3cfc4ba .elementor-button:focus{background-color:#3A281F;color:#FFFFFF;border-color:#3A281F;}.elementor-1507 .elementor-element.elementor-element-3cfc4ba .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1507 .elementor-element.elementor-element-3cfc4ba .elementor-button .elementor-button-content-wrapper{gap:16px;}.elementor-1507 .elementor-element.elementor-element-3cfc4ba .elementor-button:hover svg, .elementor-1507 .elementor-element.elementor-element-3cfc4ba .elementor-button:focus svg{fill:#FFFFFF;}.elementor-1507 .elementor-element.elementor-element-12d664a{--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:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-081603c );--border-color:var( --e-global-color-081603c );--border-radius:20px 20px 0px 0px;--padding-top:16px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1507 .elementor-element.elementor-element-5a8dc0a{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-wrap:nowrap;--e-filter-overflow-x:scroll;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1507 .elementor-element.elementor-element-79eca60{--grid-columns:3;--grid-row-gap:0px;--grid-column-gap:0px;}.elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button{background-color:#4A3328;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:600;line-height:24px;border-radius:0px 0px 0px 0px;padding:9px 24px 9px 24px;}.elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button:hover, .elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button:focus{background-color:#3A281F;color:#FFFFFF;border-color:#3A281F;}.elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button .elementor-button-content-wrapper{gap:16px;}.elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button:hover svg, .elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button:focus svg{fill:#FFFFFF;}@media(min-width:768px){.elementor-1507 .elementor-element.elementor-element-74108e9{--width:34%;}.elementor-1507 .elementor-element.elementor-element-12d664a{--width:66%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1507 .elementor-element.elementor-element-74108e9{--width:100%;}.elementor-1507 .elementor-element.elementor-element-12d664a{--width:100%;}}@media(max-width:1024px){.elementor-1507 .elementor-element.elementor-element-2053aab{--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;}.elementor-1507 .elementor-element.elementor-element-74108e9{--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-1507 .elementor-element.elementor-element-5a8dc0a{--e-filter-wrap:nowrap;--e-filter-overflow-x:scroll;padding:0px 16px 0px 16px;}.elementor-1507 .elementor-element.elementor-element-79eca60{--grid-columns:2;}}@media(max-width:767px){.elementor-1507 .elementor-element.elementor-element-12d664a{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1507 .elementor-element.elementor-element-5a8dc0a{--e-filter-wrap:nowrap;--e-filter-overflow-x:scroll;}.elementor-1507 .elementor-element.elementor-element-79eca60{--grid-columns:1;}.elementor-1507 .elementor-element.elementor-element-1397269{width:100%;max-width:100%;margin:16px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}}/* Start custom CSS for button, class: .elementor-element-3cfc4ba *//* hp-btn-dark-hover */
.elementor-1507 .elementor-element.elementor-element-3cfc4ba .elementor-button:hover,
.elementor-1507 .elementor-element.elementor-element-3cfc4ba .elementor-button:focus {
    background-color: #3A281F !important;
    color: #fff !important;
}/* End custom CSS */
/* Start custom CSS for taxonomy-filter, class: .elementor-element-5a8dc0a *//* Pill filter — single row, scroll horizontal (no wrap) */
.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a .elementor-taxonomy-filter,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a [class*="taxonomy-filter"] {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 0;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #D5CCC2 transparent;
    max-width: 100%;
    white-space: nowrap;
}

.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter::-webkit-scrollbar {
    height: 3px;
}
.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter::-webkit-scrollbar-thumb {
    background: #D5CCC2;
    border-radius: 2px;
}

.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter-item,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a .elementor-taxonomy-filter__item,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a [class*="filter-item"],
.elementor-1507 .elementor-element.elementor-element-5a8dc0a button.e-filter-item,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a a.e-filter-item {
    font-family: "DM Sans", sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #2B211D !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 8px 14px !important;
    margin: 0 !important;
    position: relative;
    cursor: pointer;
    text-decoration: none !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter-item:not(:last-child)::after,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a .elementor-taxonomy-filter__item:not(:last-child)::after,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a [class*="filter-item"]:not(:last-child)::after {
    content: "|";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #D5CCC2;
    font-weight: 300;
    pointer-events: none;
}

.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter-item.e-active,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter-item[aria-pressed="true"],
.elementor-1507 .elementor-element.elementor-element-5a8dc0a .elementor-taxonomy-filter__item.elementor-active,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a [class*="filter-item"].e-active,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a [class*="filter-item"].elementor-active,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a [class*="filter-item"][aria-pressed="true"] {
    background: #4A3328 !important;
    color: #FFFFFF !important;
}

.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter-item.e-active::after,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter-item[aria-pressed="true"]::after,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a .elementor-taxonomy-filter__item.elementor-active::after,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a [class*="filter-item"].e-active::after,
.elementor-1507 .elementor-element.elementor-element-5a8dc0a [class*="filter-item"].elementor-active::after {
    display: none;
}

.elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter-item[data-filter="__all"] {
    display: none !important;
}

@media (max-width: 767px) {
    .elementor-1507 .elementor-element.elementor-element-5a8dc0a {
        margin-bottom: 0 !important;
    }
    .elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter,
    .elementor-1507 .elementor-element.elementor-element-5a8dc0a .elementor-taxonomy-filter {
        padding: 12px 16px !important;
    }
    .elementor-1507 .elementor-element.elementor-element-5a8dc0a .e-filter-item,
    .elementor-1507 .elementor-element.elementor-element-5a8dc0a .elementor-taxonomy-filter__item,
    .elementor-1507 .elementor-element.elementor-element-5a8dc0a [class*="filter-item"] {
        font-size: 12px !important;
        padding: 10px 16px !important;
    }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-79eca60 */@media (min-width: 768px) {
/* Adaptive project grid by filtered item count
   Loop container may include <style> siblings — never use :nth-child on items. */

.elementor-element.project-loop-grid .elementor-loop-container.elementor-grid {
    display: grid !important;
    gap: 0 !important;
    grid-auto-rows: 260px;
}

.elementor-element.project-loop-grid .elementor-loop-container > .e-loop-item {
    height: 100%;
    width: 100%;
    min-width: 0;
}

.elementor-element.project-loop-grid .elementor-loop-container > .e-loop-item > .e-con,
.elementor-element.project-loop-grid .elementor-loop-container > .e-loop-item > a {
    height: 100%;
    width: 100%;
    display: flex;
    text-decoration: none;
    color: inherit;
}

/* 1 item → 100% */
.elementor-element.project-loop-grid .elementor-loop-container:not(:has(> .e-loop-item ~ .e-loop-item)) {
    --grid-columns: 1;
    grid-template-columns: 1fr !important;
}
.elementor-element.project-loop-grid .elementor-loop-container:not(:has(> .e-loop-item ~ .e-loop-item)) > .e-loop-item {
    grid-column: 1 / -1 !important;
    grid-row: 1 / span 2 !important;
}

/* 2 items → 50% / 50% */
.elementor-element.project-loop-grid .elementor-loop-container:has(> .e-loop-item ~ .e-loop-item):not(:has(> .e-loop-item ~ .e-loop-item ~ .e-loop-item)) {
    --grid-columns: 2;
    grid-template-columns: 1fr 1fr !important;
}
.elementor-element.project-loop-grid .elementor-loop-container:has(> .e-loop-item ~ .e-loop-item):not(:has(> .e-loop-item ~ .e-loop-item ~ .e-loop-item)) > .e-loop-item {
    grid-column: auto !important;
    grid-row: 1 / span 2 !important;
}

/* 3+ items → bento */
.elementor-element.project-loop-grid .elementor-loop-container:has(> .e-loop-item ~ .e-loop-item ~ .e-loop-item) {
    --grid-columns: 3;
    grid-template-columns: repeat(3, 1fr) !important;
}
.elementor-element.project-loop-grid .elementor-loop-container:has(> .e-loop-item ~ .e-loop-item ~ .e-loop-item) > .e-loop-item:nth-of-type(1) {
    grid-column: 1 / span 2 !important;
    grid-row: 1 / span 2 !important;
}
.elementor-element.project-loop-grid .elementor-loop-container:has(> .e-loop-item ~ .e-loop-item ~ .e-loop-item) > .e-loop-item:nth-of-type(2) {
    grid-column: 3 !important;
    grid-row: 1 !important;
}
.elementor-element.project-loop-grid .elementor-loop-container:has(> .e-loop-item ~ .e-loop-item ~ .e-loop-item) > .e-loop-item:nth-of-type(3) {
    grid-column: 3 !important;
    grid-row: 2 !important;
}
}

@media (max-width: 767px) {
    .elementor-element.project-loop-grid .elementor-loop-container.elementor-grid {
        display: grid !important;
        --grid-columns: 1;
        grid-template-columns: 1fr !important;
        grid-auto-rows: 260px;
        gap: 0 !important;
    }
    .elementor-element.project-loop-grid .elementor-loop-container > .e-loop-item {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        height: 100%;
        width: 100%;
        min-width: 0;
    }
    .elementor-element.project-loop-grid .elementor-loop-container > .e-loop-item > .e-con,
    .elementor-element.project-loop-grid .elementor-loop-container > .e-loop-item > a {
        height: 100%;
        width: 100%;
        display: flex;
        text-decoration: none;
        color: inherit;
    }
    .elementor-element.project-loop-grid .elementor-widget-theme-post-title .elementor-heading-title {
        font-size: 24px !important;
        line-height: 1.2 !important;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-1397269 */.elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button {
    width: 100% !important;
}

.elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button .elementor-button-content-wrapper {
    justify-content: space-between;
}
/* hp-btn-dark-hover */
.elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button:hover,
.elementor-1507 .elementor-element.elementor-element-1397269 .elementor-button:focus {
    background-color: #3A281F !important;
    color: #fff !important;
}/* End custom CSS */