/* WordPress/Elementor wrapper adapters. Widget content and controls stay editable. */
.je-site .elementor .e-con.container{width:min(1240px,calc(100% - 80px));max-width:1240px;margin-inline:auto}
.je-site .elementor .e-con.narrow{max-width:870px}
.je-site .elementor-widget-heading .elementor-heading-title{line-height:inherit}
.je-site .elementor-widget-heading .elementor-heading-title a{color:inherit}
.je-site .elementor-widget-text-editor p:last-child{margin-bottom:0}
.je-site .elementor-widget-text-editor ul{padding-left:22px}
.je-site .elementor-widget-image img{display:block;width:100%}
.je-header-shell{position:sticky;top:calc(-1 * var(--je-topbar-height,42.5px));z-index:30}
.je-site .site-header{z-index:30}
.je-site .header-inner{overflow:visible;flex-wrap:nowrap}
.je-site .je-brand{width:auto;flex:0 1 auto;min-width:230px;align-items:center;gap:13px}
.je-site .je-brand-mark{flex:0 0 49px;width:49px}
.je-site .je-brand-text{width:auto;gap:0}
.je-site .je-brand-name{white-space:nowrap}
.je-site .je-brand-subtitle p{margin:0;white-space:nowrap}
.je-site .je-navigation-widget{width:auto;flex:1 1 auto;margin-left:auto;align-self:center}
.je-main-nav{display:flex;align-items:center;justify-content:flex-end;gap:20px}
.je-site .header-quote{width:auto;flex:0 0 auto;padding:0;min-height:0}
.je-site .header-quote .elementor-button{padding:12px 16px;white-space:nowrap}
.je-site .je-topbar-row{flex-direction:var(--flex-direction,row);justify-content:space-between;gap:24px;padding-block:9px}
.je-site .je-topbar-row .elementor-widget{width:auto}
.je-site .home-hero{background-size:cover;background-position:center 58%}
.je-site .home-hero:after{pointer-events:none}
.je-site .hero-content{z-index:1}
.je-site .hero-content .elementor-widget-heading:has(h1){max-width:780px}
.je-site .hero-content .elementor-widget-text-editor{max-width:575px}
.je-site .eyebrow{display:block}
.je-site .eyebrow .elementor-heading-title{display:flex;align-items:center;gap:12px;letter-spacing:.12em;text-transform:uppercase}
.je-site .eyebrow .elementor-heading-title:before{content:'';display:inline-block;width:30px;height:3px;background:currentColor;flex:none}
.je-site .actions .elementor-widget-button{width:auto}
.je-site .elementor-button{border-radius:0;line-height:1.45;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}
.je-site .je-button .elementor-button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #091a2922}
.je-site .je-button .elementor-button:focus-visible{outline:3px solid #edac41;outline-offset:4px}
.je-site .specialism-strip .elementor-widget{width:auto;flex:1;text-align:center;padding:23px 20px;border-right:1px solid #ffffff25}
.je-site .specialism-strip .e-con.container{flex-direction:var(--flex-direction,row);align-items:center}
.je-site .about-grid,.je-site .service-grid,.je-site .gallery-callout,.je-site .feature-row{align-items:center}
.je-site .about-photo .elementor-widget-image img{height:400px}
.je-site .image-label{position:absolute;inset:auto 0 0 28px;width:auto;z-index:2}
.je-site .product-image{width:100%;padding:0}
.je-site .product-image .elementor-widget-image{width:100%}
.je-site .product-image .elementor-widget-image img{height:300px;transition:transform .35s}
.je-site .product-card{transition:box-shadow .25s,transform .25s}
.je-site .product-card:hover{box-shadow:0 14px 35px #0e233612;transform:translateY(-4px)}
.je-site .product-card:hover .product-image img{transform:scale(1.035)}
.je-site .product-number{z-index:1;padding:0}
.je-site .product-number .elementor-heading-title{color:#fff}
.je-site .product-copy .elementor-button{min-height:32px;text-align:left}
.je-site .service-grid>.e-con:first-child{padding-block:60px}
.je-site .service-image{align-self:stretch}
.je-site .service-image .elementor-widget-container,.je-site .service-image a{height:100%;display:block}
.je-site .service-image img{height:100%;min-height:370px;object-fit:cover}
.je-site .gallery-callout .elementor-widget-image img{height:350px}
.je-site .process-list{margin-top:40px}
.je-site .process-list>.e-con{padding-top:65px;counter-increment:process}
.je-site .process-list>.e-con:before{content:counter(process,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--head);font-size:40px;color:var(--blue);line-height:1;font-weight:600}
.je-site .process-list .elementor-heading-title{line-height:1.75}
.je-site .discuss-grid{margin-top:36px}
.je-site .discuss-grid>.e-con{border-top:1px solid var(--line);padding-top:28px}
.je-site .breadcrumb{margin-bottom:30px}
.je-site .breadcrumb .elementor-widget{width:auto}
.je-site .page-intro{max-width:830px}
.je-site .section-heading{margin-bottom:35px}
.je-site .je-table{border:1px solid var(--line);margin-block:24px}
.je-site .je-table-row>.elementor-widget{padding:16px 20px;border-bottom:1px solid var(--line)}
.je-site .je-table-row:first-child{background:var(--surface);font-weight:600}
.je-site .je-table-row:last-child>.elementor-widget{border-bottom:0}
.je-site .detail-sidebar .elementor-widget-image img{height:235px}
.je-site .feature-row .elementor-widget-image img{height:350px}
.je-site .feature-row:nth-child(even)>.elementor-widget-image{order:2}
.je-site .contact-panel{height:auto}
.je-site .contact-item{border-bottom:1px solid var(--line)}
.je-site .elementor-accordion .elementor-tab-title{padding:20px 0}
.je-site .elementor-accordion .elementor-tab-content{padding:8px 0 20px;font-weight:400;font-family:var(--body)}
.je-site .elementor-accordion .elementor-accordion-item{border-inline:0}
.je-site .elementor-accordion .elementor-tab-title a:hover{text-decoration:none}
.je-site .cta-inner>.e-con{max-width:780px}
.je-site .cta-inner>.elementor-widget-button{width:auto;flex:0 0 auto}
.je-site .gallery-image .elementor-widget-image img{height:290px;transition:transform .35s}
.je-site .gallery-image:hover img{transform:scale(1.04)}
.je-site .gallery-image{overflow:hidden}
.je-site .je-gallery-item[hidden]{display:none!important}
.je-filters{display:flex;flex-wrap:wrap;gap:10px}
.je-site .site-footer .je-brand{margin-bottom:22px}
.je-site .footer-grid .elementor-widget-text-editor{margin-bottom:10px}
.je-site .footer-bottom{justify-content:space-between;padding-block:24px}
.je-site .footer-bottom>.elementor-widget{width:auto}
.je-site .site-footer a:hover{color:#80c6f3}
.je-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.je-site .forminator-ui.forminator-custom-form{font-family:var(--body);margin:0}
.je-site .forminator-ui.forminator-custom-form .forminator-label{font-family:var(--body);font-weight:600;color:var(--ink)}
.je-site .forminator-ui.forminator-custom-form input.forminator-input,.je-site .forminator-ui.forminator-custom-form textarea.forminator-textarea,.je-site .forminator-ui.forminator-custom-form .forminator-select-container .forminator-select{border-radius:0;border:1px solid var(--line);background:#fff;color:var(--ink);font-family:var(--body)}
.je-site .forminator-ui.forminator-custom-form .forminator-button-submit{background:var(--blue);color:white;padding:15px 28px;border-radius:0;font-family:var(--body);font-weight:700;transition:background .2s,transform .2s}
.je-site .forminator-ui.forminator-custom-form .forminator-button-submit:hover{background:var(--blue-dark);transform:translateY(-2px)}
.je-site .forminator-ui.forminator-custom-form .forminator-error-message{font-size:14px}
.je-loader-logo{max-width:220px;max-height:140px;width:auto}
.je-site .elementor-lightbox .dialog-widget-content{max-width:95vw}
@media(min-width:1101px){.je-site .has-children:hover>.dropdown,.je-site .has-children:focus-within>.dropdown{display:block}}
@media(max-width:1100px){
 .je-site .je-navigation-widget{flex:0 0 auto;margin-left:auto}
 .je-site .menu-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);color:var(--ink);background:white;padding:9px 12px;font-size:14px;line-height:1.4}
 .je-main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;padding:20px 40px;box-shadow:0 12px 22px #0e233612;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 120px);overflow:auto}
 .je-main-nav.is-open{display:flex}
 .je-main-nav .nav-group{flex-wrap:wrap;border-bottom:1px solid var(--line);padding:13px 0}
 .je-main-nav .nav-link{flex:1}
 .je-main-nav .dropdown-toggle{padding:5px 12px}
 .je-main-nav .dropdown{position:static;flex:0 0 100%;width:100%;margin-top:12px;box-shadow:none;border-top:0;background:var(--surface)}
 .je-main-nav .dropdown:before{display:none}
 .je-site .detail-layout{grid-template-columns:260px minmax(0,1fr);column-gap:35px}
 .je-site .contact-grid{grid-template-columns:290px minmax(0,1fr);column-gap:35px}
}
@media(max-width:767px){
 .je-site .elementor .e-con.container{width:calc(100% - 40px)}
 .je-site .header-inner{min-height:82px;gap:12px}
 .je-site .header-quote{display:none}
 .je-site .je-brand{min-width:0;gap:9px}
 .je-site .je-brand-mark{width:42px;flex-basis:42px}
 .je-site .je-brand-subtitle p{font-size:10px}
 .je-site .je-brand-name .elementor-heading-title{font-size:23px}
 .je-site .je-menu-label{display:none}
 .je-main-nav{padding:12px 20px}
 .je-site .je-topbar-row{padding-block:8px}
 .je-site .je-topbar-row>.elementor-widget:first-child{display:none}
 .je-site .home-hero{min-height:575px}
 .je-site .specialism-strip .e-con.container{display:grid;grid-template-columns:1fr 1fr}
 .je-site .specialism-strip .elementor-widget{padding:17px 8px;border-bottom:1px solid #ffffff25}
 .je-site .about-photo .elementor-widget-image img{height:300px}
 .je-site .product-image .elementor-widget-image img{height:260px}
 .je-site .service-grid>.e-con:first-child{padding-block:50px 35px}
 .je-site .service-image{height:250px;margin-bottom:30px;min-height:0}
 .je-site .service-image img{height:250px;min-height:0}
 .je-site .process-list>.e-con{padding:0 0 0 56px}
 .je-site .process-list>.e-con:before{font-size:35px;top:3px}
 .je-site .gallery-callout .elementor-widget-image img{height:260px}
 .je-site .detail-layout{display:flex;flex-direction:var(--flex-direction,column);gap:35px}
 .je-site .detail-sidebar{order:2;position:static;width:100%}
 .je-site .reading-column{width:100%}
 .je-site .contact-grid{grid-template-columns:minmax(0,1fr)}
 .je-site .feature-row .elementor-widget-image img{height:250px}
 .je-site .feature-row:nth-child(even)>.elementor-widget-image{order:0}
 .je-site .je-table-row>.elementor-widget{padding:12px;min-width:0}
 .je-site .je-table-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .je-site .footer-bottom{flex-direction:var(--flex-direction,column);align-items:flex-start;gap:8px}
}
@media(prefers-reduced-motion:reduce){.je-site .je-button .elementor-button:hover,.je-site .product-card:hover,.je-site .product-card:hover img,.je-site .gallery-image:hover img{transform:none}}

.je-site .process-list>.e-con:before{content:none}
.je-site .process-list>.e-con{padding-top:0}

.je-site .elementor{--kit-widget-spacing:0px;--widgets-spacing:0px}

.je-site .gallery-caption{width:100%;padding:23px}
.je-site .gallery-caption .elementor-widget-text-editor{margin:0}
.je-site .gallery-caption strong{font-family:var(--head);font-size:26px;line-height:1.2;color:var(--ink)}
.je-site .gallery-card .elementor-widget-image{width:100%}
