.elementor-kit-6{--e-global-color-primary:#1678A2;--e-global-color-secondary:#54595F;--e-global-color-text:#444444;--e-global-color-accent:#BCD631;--e-global-typography-primary-font-family:"omnes-pro";--e-global-typography-primary-font-weight:300;--e-global-typography-primary-line-height:1.4em;--e-global-typography-secondary-font-family:"omnes-pro";--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"fira-sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"fira-sans";--e-global-typography-accent-font-weight:500;font-family:"fira-sans", Sans-serif;font-size:12px;font-weight:400;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-primary );font-family:"fira-sans", Sans-serif;font-weight:400;}.elementor-kit-6 h1{font-family:"omnes-pro", Sans-serif;font-weight:normal;}.elementor-kit-6 h2{font-family:"omnes-pro", Sans-serif;}.elementor-kit-6 h3{font-family:"omnes-pro", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-portfolio-item__overlay {
    padding: 4em !important;
}

/* Work tiles on phones: image first, title below (no dark overlay) */
@media (max-width: 767px) {
  .elementor-portfolio .elementor-post__thumbnail__link { padding-bottom: 0 !important; }
  .elementor-portfolio-item__img { position: relative !important; inset: auto !important; height: auto !important; aspect-ratio: 5 / 3; }
  .elementor-portfolio-item__overlay { position: static !important; opacity: 1 !important; background: none !important; padding: 16px 16px 56px !important; height: auto !important; display: block !important; }
  .elementor-portfolio-item__title { color: #444 !important; font-family: omnes-pro, sans-serif !important; font-size: 20px !important; font-weight: 300 !important; line-height: 1.25 !important; text-align: left !important; margin: 0 !important; }
}

/* Case study titles: tighter leading, balanced two-line wrap */
.parent-pageid-260 .elementor-widget-heading h1.elementor-heading-title { line-height: 1.2 !important; max-width: 18em; text-wrap: balance; }

/* Work tiles: zoom image on hover (uses `scale` so Elementor centering transform never animates) */
.elementor-portfolio-item__img img { transition: scale .6s ease, filter .3s !important; }
.elementor-portfolio-item:hover .elementor-portfolio-item__img img,
.elementor-portfolio-item:focus-within .elementor-portfolio-item__img img { scale: 1.06; }
@media (prefers-reduced-motion: reduce) { .elementor-portfolio-item__img img { transition: none !important; } }

/* Text links: underline (WCAG 1.4.1) + darker on hover/focus */
.elementor-widget-text-editor a { text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 40%, transparent); text-decoration-thickness: 1px; text-underline-offset: .2em; transition: color .2s ease, text-decoration-color .2s ease; }
.elementor-widget-text-editor a:hover,
.elementor-widget-text-editor a:focus-visible { color: #126182; text-decoration-color: currentColor; }
.elementor-social-icon { transition: opacity .2s ease !important; }
.elementor-social-icon:hover,
.elementor-social-icon:focus-visible { opacity: .65; }

/* Soft on-load entrance for page content (skips widgets Elementor already animates) */
@keyframes nm-rise { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
[data-elementor-type^="wp-"] .elementor-widget:not(.elementor-invisible, .animated, .elementor-invisible *, .animated *) { animation: nm-rise .7s cubic-bezier(.2,.7,.2,1) both; }
[data-elementor-type^="wp-"] .elementor-widget-heading:not(.elementor-invisible *, .animated *) { animation-delay: .05s; }
[data-elementor-type^="wp-"] .elementor-widget-text-editor:not(.elementor-invisible, .animated, .elementor-invisible *, .animated *) { animation-delay: .15s; }
[data-elementor-type^="wp-"] :is(.elementor-widget-image, .elementor-widget-image-gallery, .elementor-widget-video):not(.elementor-invisible, .animated, .elementor-invisible *, .animated *) { animation-delay: .25s; }
@media (prefers-reduced-motion: reduce) { [data-elementor-type^="wp-"] .elementor-widget { animation: none !important; } }

/* Work tiles: visible keyboard focus (WCAG 2.4.7); tile clips outside outlines, so draw it inside */
.elementor-portfolio-item a:focus-visible { outline: 3px solid #000 !important; outline-offset: -3px !important; box-shadow: inset 0 0 0 6px #fff !important; }
.elementor-portfolio-item:focus-within .elementor-portfolio-item__overlay { opacity: 1 !important; }/* End custom CSS */