.elementor-940 .elementor-element.elementor-element-c9dd767{--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;--justify-content:space-between;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-6ae0ff9{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-5879bd3 .elementor-heading-title{font-size:18px;}.elementor-940 .elementor-element.elementor-element-58cea3b .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-038273f{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-f29f7ba{--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;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-baead68 .elementor-heading-title{font-size:18px;}.elementor-940 .elementor-element.elementor-element-6f0950d .elementor-heading-title{font-size:17px;}.elementor-940 .elementor-element.elementor-element-0119620{--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;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-d16b22a .elementor-heading-title{font-size:18px;}.elementor-940 .elementor-element.elementor-element-47144b8 .elementor-heading-title{font-size:17px;}.elementor-940 .elementor-element.elementor-element-d301207{--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;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-f174ccc .elementor-heading-title{font-size:18px;}.elementor-940 .elementor-element.elementor-element-ab524ad .elementor-heading-title{font-size:17px;}.elementor-940 .elementor-element.elementor-element-d98f3fc{--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;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-d6a0fcf .elementor-heading-title{font-size:18px;}.elementor-940 .elementor-element.elementor-element-4df9861 .elementor-heading-title{font-size:17px;}.elementor-940 .elementor-element.elementor-element-b8fca94{--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;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-873d64f .elementor-heading-title{font-size:18px;}.elementor-940 .elementor-element.elementor-element-c06fde6 .elementor-heading-title{font-size:17px;}.elementor-940 .elementor-element.elementor-element-9201822{--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;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-8a22664 .elementor-heading-title{font-size:18px;}.elementor-940 .elementor-element.elementor-element-b42aebc .elementor-heading-title{font-size:17px;}.elementor-940 .elementor-element.elementor-element-2317762{--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;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-7a7935e .elementor-heading-title{font-size:18px;}.elementor-940 .elementor-element.elementor-element-8ccfdcb .elementor-heading-title{font-size:17px;}.elementor-940 .elementor-element.elementor-element-56d9d12{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-f9d81d1{--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;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-9972e33 .elementor-heading-title{font-size:30px;}.elementor-940 .elementor-element.elementor-element-b4ff6c0{font-size:19px;font-weight:400;}.elementor-940 .elementor-element.elementor-element-7ce5004{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-c261547 .gallery-item .gallery-caption{display:none;}.elementor-940 .elementor-element.elementor-element-3558707{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-b32c5ef{--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;--justify-content:space-between;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-12653ac{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-940 .elementor-element.elementor-element-636be61 .elementor-button{background-color:#02010100;}.elementor-940 .elementor-element.elementor-element-64f9790{--grid-columns:2;--grid-row-gap:44px;--grid-column-gap:44px;}@media(max-width:1024px){.elementor-940 .elementor-element.elementor-element-5879bd3 .elementor-heading-title{font-size:17px;}.elementor-940 .elementor-element.elementor-element-58cea3b .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-baead68 .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-6f0950d .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-d16b22a .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-47144b8 .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-f174ccc .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-ab524ad .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-d6a0fcf .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-4df9861 .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-873d64f .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-c06fde6 .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-8a22664 .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-b42aebc .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-7a7935e .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-8ccfdcb .elementor-heading-title{font-size:16px;}.elementor-940 .elementor-element.elementor-element-9972e33 .elementor-heading-title{font-size:25px;}.elementor-940 .elementor-element.elementor-element-b4ff6c0{font-size:16px;}.elementor-940 .elementor-element.elementor-element-636be61 .elementor-button{font-size:16px;}.elementor-940 .elementor-element.elementor-element-64f9790{--grid-columns:2;}}@media(max-width:767px){.elementor-940 .elementor-element.elementor-element-baead68 .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-6f0950d .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-d16b22a .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-47144b8 .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-f174ccc .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-ab524ad .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-d6a0fcf .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-4df9861 .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-873d64f .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-c06fde6 .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-8a22664 .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-b42aebc .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-7a7935e .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-8ccfdcb .elementor-heading-title{font-size:15px;}.elementor-940 .elementor-element.elementor-element-9972e33 .elementor-heading-title{font-size:20px;}.elementor-940 .elementor-element.elementor-element-64f9790{--grid-columns:1;}}/* Start custom CSS *//* ===== Single Project ===== */
:root { --pj-side: 4.2%; --pj-gap: 44px; --pj-ink: #352B1D; --pj-line: rgba(53,43,29,.55); }

.pj-hero, .pj-featured, .pj-overview, .pj-gallery-wrap, .pj-related {
    padding-left: var(--pj-side) !important;
    padding-right: var(--pj-side) !important;
}

/* --- Hero: title + meta table --- */
.pj-hero { padding-top: 90px !important; padding-bottom: 80px !important; gap: 40px; }
.pj-intro { width: 40% !important; max-width: 40%; }
.pj-meta { width: 37% !important; max-width: 37%; }

.pj-title .elementor-heading-title { font-size: 56px; font-weight: 600; line-height: 1.05; color: var(--pj-ink); margin: 0 0 22px; }
.pj-excerpt .elementor-heading-title { font-size: 15px; font-weight: 400; line-height: 1.5; color: var(--pj-ink); max-width: 420px; margin: 0 0 14px; }
.pj-cat .elementor-heading-title { font-size: 13px; font-weight: 400; color: rgba(53,43,29,.6); }

.pj-row { border-bottom: 1px solid var(--pj-line); padding: 18px 0 !important; gap: 20px; flex-wrap: nowrap !important; }
.pj-row:first-child { padding-top: 0 !important; }
.pj-label .elementor-heading-title { font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; color: var(--pj-ink); }
.pj-val { text-align: right; }
.pj-val .elementor-heading-title { font-size: 14px; font-weight: 400; color: var(--pj-ink); text-align: right; }
/* hide a row when its field is empty */
.pj-row:not(:has(.pj-val .elementor-heading-title)) { display: none !important; }

/* --- Featured image --- */
.pj-main-img img { width: 100% !important; aspect-ratio: 2.1 / 1; object-fit: cover; display: block; }

/* --- Project overview --- */
.pj-overview { padding-top: 110px !important; padding-bottom: 110px !important; gap: 40px; }
.pj-ov-title { width: 40% !important; max-width: 40%; }
.pj-ov-title .elementor-heading-title { font-size: 24px; font-weight: 500; color: var(--pj-ink); }
.pj-content { width: 52% !important; max-width: 52%; }
.pj-content, .pj-content p, .pj-content li { font-size: 17px; line-height: 1.6; color: var(--pj-ink); }
.pj-content p { margin: 0 0 18px; }

/* --- Gallery: wide, 2, wide, 2 ... --- */
.pj-gallery .gallery { display: grid !important; grid-template-columns: 1fr 1fr; gap: var(--pj-gap); margin: 0 !important; }
.pj-gallery .gallery br { display: none; }
.pj-gallery .gallery-item { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.pj-gallery .gallery-item:nth-child(3n+1) { grid-column: 1 / -1; }
.pj-gallery .gallery-item .gallery-icon, .pj-gallery .gallery-item a { display: block; }
.pj-gallery .gallery-item img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; display: block; border: 0 !important; }
.pj-gallery .gallery-item:nth-child(3n+1) img { aspect-ratio: 2.1 / 1; }
/* an odd image left alone at the end of a pair row spans full width */
.pj-gallery .gallery-item:nth-child(3n+2):last-child { grid-column: 1 / -1; }
.pj-gallery .gallery-item:nth-child(3n+2):last-child img { aspect-ratio: 2.1 / 1; }
.pj-gallery .gallery-caption { display: none; }

/* --- Related projects --- */
.pj-related { padding-top: 140px !important; padding-bottom: 120px !important; gap: 36px; }
.pj-related:not(:has(.e-loop-item)) { display: none !important; }
.pj-rel-kicker .elementor-heading-title { font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; color: var(--pj-ink); margin-bottom: 8px; }
.pj-rel-title .elementor-heading-title { font-size: 40px; font-weight: 600; text-transform: uppercase; color: var(--pj-ink); line-height: 1.1; }
.pj-rel-all { flex-shrink: 0; }
.pj-rel-all .elementor-button { white-space: nowrap; background: none !important; padding: 0 !important; border: 0 !important; color: var(--pj-ink) !important; font-size: 22px; font-weight: 500; line-height: 1; text-transform: uppercase; letter-spacing: 0; }
.pj-rel-all .elementor-button-content-wrapper, .pj-rel-all .elementor-button-text { display: inline-flex; align-items: center; }
.pj-rel-all .elementor-button-text::after { content: ""; display: inline-block; width: 20px; height: 20px; margin-left: 22px; background: url("data:image/svg+xml,%3Csvg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23352B1D' stroke-width='1.8' stroke-linecap='square'%3E%3Cpath d='M4 16L16 4M6.5 4H16v9.5'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .25s ease; }
.pj-rel-all .elementor-button:hover .elementor-button-text::after { transform: translate(3px,-3px); }
@media (max-width: 767px) { .pj-rel-all .elementor-button { font-size: 17px; } .pj-rel-all .elementor-button-text::after { width: 16px; height: 16px; margin-left: 16px; } }

/* --- Tablet --- */
@media (max-width: 1024px) {
    :root { --pj-gap: 24px; }
    .pj-hero { flex-direction: column !important; padding-top: 60px !important; padding-bottom: 50px !important; }
    .pj-intro, .pj-meta { width: 100% !important; max-width: 100%; }
    .pj-title .elementor-heading-title { font-size: 44px; }
    .pj-overview { padding-top: 70px !important; padding-bottom: 70px !important; }
    .pj-ov-title { width: 30% !important; max-width: 30%; }
    .pj-content { width: 65% !important; max-width: 65%; }
    .pj-content, .pj-content p, .pj-content li { font-size: 16px; }
    .pj-related { padding-top: 90px !important; padding-bottom: 80px !important; }
    .pj-rel-title .elementor-heading-title { font-size: 32px; }
}

/* --- Mobile --- */
@media (max-width: 767px) {
    :root { --pj-side: 20px; --pj-gap: 14px; }
    .pj-hero { padding-top: 40px !important; padding-bottom: 36px !important; gap: 30px; }
    .pj-title .elementor-heading-title { font-size: 34px; margin-bottom: 14px; }
    .pj-row { padding: 14px 0 !important; }
    .pj-overview { flex-direction: column !important; padding-top: 50px !important; padding-bottom: 50px !important; gap: 16px; }
    .pj-ov-title, .pj-content { width: 100% !important; max-width: 100%; }
    .pj-ov-title .elementor-heading-title { font-size: 22px; }
    .pj-related { padding-top: 70px !important; padding-bottom: 60px !important; gap: 24px; }
    .pj-rel-head { flex-direction: column !important; align-items: flex-start !important; gap: 14px; }
    .pj-rel-title .elementor-heading-title { font-size: 26px; }
}

/* --- Mobile/tablet image proportions --- */
@media (max-width: 1024px) {
    .pj-main-img img { aspect-ratio: 16 / 9; }
}
@media (max-width: 767px) {
    .pj-main-img img { aspect-ratio: 4 / 3; }
    .pj-gallery .gallery-item:nth-child(3n+1) img,
    .pj-gallery .gallery-item:nth-child(3n+2):last-child img { aspect-ratio: 3 / 2; }
    .pj-label .elementor-heading-title { font-size: 12px; }
    .pj-val .elementor-heading-title { font-size: 13px; }
    .pj-excerpt .elementor-heading-title { font-size: 14px; }
    .pj-content, .pj-content p, .pj-content li { font-size: 16px; }
}

/* --- Gallery lightbox: arrows + close icon, image height capped (700 desktop / 500 tablet & mobile) --- */
body.single-projects .elementor-lightbox .elementor-lightbox-item { padding: 0 !important; }
body.single-projects .elementor-lightbox .swiper-slide {
    display: flex !important; align-items: center !important; justify-content: center !important;
    overflow: hidden !important;
}
body.single-projects .elementor-lightbox .swiper-zoom-container {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 100% !important; height: 100% !important;
}
body.single-projects .elementor-lightbox .elementor-lightbox-image {
    display: block !important;
    width: auto !important; height: auto !important;
    max-width: 100vw !important; max-height: 700px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    box-shadow: none !important; border-radius: 0 !important;
}
/* close icon */
body.single-projects .elementor-lightbox .dialog-lightbox-close-button {
    z-index: 30;
    top: 18px !important; right: 18px !important;
    width: 44px; height: 44px;
    display: flex !important; align-items: center; justify-content: center;
    background: rgba(0,0,0,.45); border-radius: 50%;
    font-size: 22px !important; color: #fff !important;
}
/* prev / next arrows - always inside the screen */
body.single-projects .elementor-lightbox .elementor-swiper-button {
    z-index: 30;
    display: flex !important; align-items: center; justify-content: center;
    width: 44px !important; height: 44px !important;
    top: 50% !important; transform: translateY(-50%) !important;
    margin: 0 !important; padding: 0 !important;
    background: rgba(0,0,0,.45); border-radius: 50%;
    font-size: 20px !important; color: #fff !important;
}
body.single-projects .elementor-lightbox .elementor-swiper-button-prev { left: 16px !important; right: auto !important; }
body.single-projects .elementor-lightbox .elementor-swiper-button-next { right: 16px !important; left: auto !important; }
body.single-projects .elementor-lightbox .elementor-swiper-button svg { width: 20px; height: 20px; fill: #fff; }

@media (max-width: 1024px) {
    body.single-projects .elementor-lightbox .elementor-lightbox-image { max-height: 500px !important; }
}
@media (max-width: 767px) {
    body.single-projects .elementor-lightbox .elementor-swiper-button { width: 38px !important; height: 38px !important; font-size: 16px !important; }
    body.single-projects .elementor-lightbox .elementor-swiper-button-prev { left: 10px !important; }
    body.single-projects .elementor-lightbox .elementor-swiper-button-next { right: 10px !important; }
    body.single-projects .elementor-lightbox .dialog-lightbox-close-button { top: 12px !important; right: 12px !important; width: 38px; height: 38px; }
}

/* solid dark backdrop + hide file-name caption */
body.single-projects .elementor-lightbox { --lightbox-background-color: rgba(0,0,0,.92); background-color: rgba(0,0,0,.92) !important; }
body.single-projects .elementor-lightbox .elementor-slideshow__footer,
body.single-projects .elementor-lightbox .elementor-slideshow__title,
body.single-projects .elementor-lightbox .elementor-slideshow__description { display: none !important; }/* End custom CSS */