/* Shared outer grid across primary pages and every portfolio case. */
body :is(.elementor-12,.elementor-65,.elementor-335,.elementor-361,.elementor-2111,.elementor-2112,.elementor-2113)>.e-con-boxed:not(.tl-shape-animation):not(.elementor-element-9183975),
body.single-portfolio .elementor>.e-con-boxed:not(.tl-shape-animation){
 --container-max-width:1320px;
 padding-inline:24px!important;
}
body :is(.elementor-12,.elementor-65,.elementor-335,.elementor-361,.elementor-2111,.elementor-2112,.elementor-2113)>.e-con-boxed:not(.tl-shape-animation):not(.elementor-element-9183975)>.e-con-inner,
body.single-portfolio .elementor>.e-con-boxed:not(.tl-shape-animation)>.e-con-inner{
 width:100%;max-width:1320px!important;padding-inline:0!important;
}
body :is(.elementor-65,.elementor-335,.elementor-361)>.breadcrumb>.e-con-inner>.e-con-full{padding-inline:0}
body .elementor-335 .elementor-element-d42eb47{padding-inline:0}
body .elementor-335 .tl-widget.portfolio{width:100%!important;max-width:none!important;margin-inline:0!important}
/* Bootstrap's negative gutters are inside the new content edges. */
body .elementor-335 .tl-widget.portfolio .row.items{margin-inline:-12px}
body .elementor-335 .tl-widget.portfolio .row.items>.item{padding-inline:12px}
body .elementor-335 .tl-widget.portfolio .filter-menu{padding-inline:0}
body .elementor-65 .elementor-widget-text-editor p{max-width:800px}
/* Works CTA: centre the button beside the complete heading, without stretching. */
body .elementor-335 .elementor-element-6e11d44{
 align-items:center;
 gap:48px;
 padding-inline:0;
}
body .elementor-335 .elementor-element-dad414c{
 flex:1 1 0;
 width:auto;
 max-width:900px;
 min-width:0;
}
body .elementor-335 .elementor-element-d25f51c{
 flex:0 0 auto;
 width:auto;
 align-self:center;
}
@media(max-width:1024px){
 body .elementor-335 .elementor-element-6e11d44{flex-direction:column;align-items:flex-start;gap:24px}
 body .elementor-335 .elementor-element-dad414c{flex:none;width:100%;max-width:none}
 body .elementor-335 .elementor-element-d25f51c{align-self:flex-start}
 body .elementor-335 .elementor-element-dad414c .title{font-size:clamp(32px,8vw,40px);line-height:1.15}
}
body .elementor-335 .elementor-element-dad414c :is(.elementor-widget-container,.tl-widget.heading,.title){
 width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:break-word;
}
/* Case title follows the gallery edge; retain the gap between gallery and copy. */
body.single-portfolio .elementor>.e-con-boxed:first-child>.e-con-inner>.e-con-full{padding-inline:0}
