.elementor-6845 .elementor-element.elementor-element-ca21fb6{--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:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:70px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6845 .elementor-element.elementor-element-9c2cff7{--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;}.elementor-6845 .elementor-element.elementor-element-569ab4f .elementor-post__thumbnail__link{padding-bottom:calc( 0.66 * 100% );}.elementor-6845 .elementor-element.elementor-element-569ab4f:after{content:"0.66";position:absolute;color:transparent;}.elementor-6845 .elementor-element.elementor-element-569ab4f{--grid-row-gap:75px;--grid-column-gap:75px;}.elementor-6845 .elementor-element.elementor-element-569ab4f .elementor-portfolio__filter:not(:last-child){margin-right:calc(10px/2);}.elementor-6845 .elementor-element.elementor-element-569ab4f .elementor-portfolio__filter:not(:first-child){margin-left:calc(10px/2);}.elementor-6845 .elementor-element.elementor-element-569ab4f .elementor-portfolio__filters{margin-bottom:10px;}/* Start custom CSS *//* Portfolio presentation — page 6845 only */
.elementor-6845 .elementor-element-ca21fb6 { padding: 56px 24px 72px; background: #f5f6f8; }
.elementor-6845 .elementor-element-ca21fb6 > .e-con-inner { display: flex; flex-direction: column; gap: 0; max-width: 1200px; }
.elementor-6845 .elementor-element-bbf84ee { width: 100%; background: #102530; padding: 64px 64px 24px; border-radius: 24px 24px 0 0; }
.elementor-6845 .elementor-element-bbf84ee h1 { color: #fff; font-size: clamp(38px,5vw,68px); line-height: 1.06; letter-spacing: -2px; max-width: 930px; margin: 0; }
.elementor-6845 .elementor-element-a3a0444 { width: 100%; background: #102530; padding: 0 64px 28px; color: #d4dfe5; font-size: 18px; line-height: 1.75; }
.elementor-6845 .elementor-element-a3a0444 p { max-width: 780px; margin: 0; }
.elementor-6845 .elementor-element-78ef81f { width: 100%; background: #102530; padding: 0 64px 60px; border-radius: 0 0 24px 24px; margin-bottom: 52px; }
.elementor-6845 .elementor-element-78ef81f .elementor-button { background: #cf0029; color: #fff; border-radius: 8px; padding: 18px 28px; font-size: 16px; font-weight: 600; }
.elementor-6845 .elementor-element-78ef81f .elementor-button:hover { background: #a90022; }
.elementor-6845 .elementor-element-9c2cff7 { width: 100%; max-width: 100%; padding: 0; }
.elementor-6845 .elementor-portfolio { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; height: auto; }
.elementor-6845 .elementor-portfolio-item { position: relative; top: auto; left: auto; width: auto; margin: 0; border: 1px solid #e2e6eb; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 8px 22px rgba(16,37,48,.04); transition: box-shadow .2s, transform .2s; }
.elementor-6845 .elementor-portfolio-item:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(16,37,48,.12); }
.elementor-6845 .elementor-post__thumbnail__link { display: flex; flex-direction: column; height: 100%; }
.elementor-6845 .elementor-portfolio-item__img { padding-bottom: 0; position: relative; aspect-ratio: 16/9; overflow: hidden; }
.elementor-6845 .elementor-portfolio-item__img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; position: absolute; inset: 0; transform: none; }
.elementor-6845 .elementor-portfolio-item__overlay { position: relative; opacity: 1; background: #fff; padding: 24px 60px 24px 24px; text-align: left; display: flex; align-items: center; min-height: 90px; }
.elementor-6845 .elementor-portfolio-item__title { color: #102530; font-size: 22px; line-height: 1.3; margin: 0; transform: none; }
.elementor-6845 .elementor-portfolio-item__overlay:after { content: '↗'; position: absolute; right: 24px; color: #cf0029; font-size: 26px; }
.elementor-6845 a:focus-visible { outline: 3px solid #cf0029; outline-offset: 4px; }
@media(max-width:767px) {
 .elementor-6845 .elementor-element-ca21fb6 { padding: 28px 16px 40px; }
 .elementor-6845 .elementor-element-bbf84ee { padding: 36px 24px 20px; }
 .elementor-6845 .elementor-element-bbf84ee h1 { font-size: 38px; letter-spacing: -1px; }
 .elementor-6845 .elementor-element-a3a0444 { padding: 0 24px 24px; font-size: 16px; }
 .elementor-6845 .elementor-element-78ef81f { padding: 0 24px 36px; margin-bottom: 32px; }
 .elementor-6845 .elementor-portfolio { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .elementor-6845 .elementor-portfolio-item__title { font-size: 20px; }
}
@media(prefers-reduced-motion:reduce) { .elementor-6845 .elementor-portfolio-item { transition: none; } }

.elementor-6845 .elementor-portfolio__filters { justify-content: flex-start; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; padding: 0; }
.elementor-6845 .elementor-portfolio__filter { border: 1px solid #dce1e7; border-radius: 999px; padding: 10px 20px; margin: 0; background: #fff; color: #102530; font-size: 15px; line-height: 1.4; }
.elementor-6845 .elementor-portfolio__filter.elementor-active { background: #102530; border-color: #102530; color: #fff; }
.elementor-6845 .elementor-portfolio-item__overlay { justify-content: flex-start; }
.elementor-6845 .elementor-portfolio-item__title { text-align: left; }

/* Keep screenshot and caption in normal document flow. */
.elementor-6845 .elementor-portfolio-item .elementor-post__thumbnail__link { padding-bottom: 0 !important; height: auto !important; }
.elementor-6845 .elementor-portfolio-item .elementor-portfolio-item__img { position: relative !important; height: auto !important; padding: 0 !important; aspect-ratio: 16/9; }
.elementor-6845 .elementor-portfolio-item .elementor-portfolio-item__img img { width: 100% !important; height: 100% !important; max-width: 100% !important; object-fit: cover; transform: none !important; top: 0 !important; left: 0 !important; }
.elementor-6845 .elementor-portfolio-item .elementor-portfolio-item__overlay { position: relative !important; inset: auto !important; flex-direction: row; justify-content: flex-start; opacity: 1 !important; }

.elementor-6845 .elementor-element-78ef81f { margin-bottom: 48px !important; }
.elementor-6845 .elementor-portfolio__filters { margin-bottom: 28px !important; }/* End custom CSS */