.elementor-kit-7{--e-global-color-primary:#618FBA;--e-global-color-secondary:#161515;--e-global-color-text:#1f2123;--e-global-color-accent:#307ED8;--e-global-color-lss-white:#FCFCFC;--e-global-color-9b63ca0:#1B263B;--e-global-color-f487c22:#C44536;--e-global-color-64721ee:#EDE0D4;--e-global-color-84aea13:#5E503F;--e-global-color-c7b7842:#E9ECEF;--e-global-typography-primary-font-family:"Fira Sans Condensed";--e-global-typography-primary-font-size:50px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Bebas Neue";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:23px;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-weight:600;font-family:"Manrope", Sans-serif;font-size:16px;font-weight:400;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-accent );}.elementor-kit-7 a:hover{color:var( --e-global-color-f487c22 );}.elementor-kit-7 h1{color:#1f2123;font-family:"Bebas Neue", Sans-serif;font-size:64px;font-weight:400;}.elementor-kit-7 h2{color:#1f2123;font-family:"Fira Sans Condensed", Sans-serif;font-size:36px;font-weight:500;line-height:40px;}.elementor-kit-7 h3{color:#1f2123;font-family:"Fira Sans Condensed", Sans-serif;font-size:26px;font-weight:500;line-height:30px;}.elementor-kit-7 h4{color:#1f2123;font-family:"Bebas Neue", Sans-serif;font-size:28px;font-weight:400;}.elementor-kit-7 h5{color:#1f2123;font-family:"Bebas Neue", Sans-serif;font-size:22px;font-weight:400;}.elementor-kit-7 h6{color:#1f2123;font-family:"Bebas Neue", Sans-serif;font-size:18px;font-weight:400;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing: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-kit-7{--e-global-typography-text-font-size:15px;--e-global-typography-text-line-height:22px;font-size:16px;}.elementor-kit-7 h2{font-size:32px;line-height:37px;}.elementor-kit-7 h3{font-size:22px;line-height:27px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-text-font-size:14px;--e-global-typography-text-line-height:21px;font-size:15px;}.elementor-kit-7 h2{font-size:30px;line-height:34px;}.elementor-kit-7 h3{font-size:20px;line-height:25px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============ LASER SCANNING SOLUTIONS — SITEWIDE (lss) ============ */

.lss-eyebrow{text-transform:uppercase}

/* ---- Marquee ---- */
.lss-marquee__viewport{overflow:hidden;width:100%}
.lss-marquee__track{display:flex;width:max-content;will-change:transform}
.lss-marquee__item{display:inline-flex;align-items:center;white-space:nowrap;font-family:"barlow",sans-serif;font-size:30px;line-height:1;letter-spacing:1px;color:#FCFCFC}
.lss-marquee__item i{display:inline-block;font-style:normal;color:#307ED8;margin:0 24px;font-size:10px;transform:translateY(-5px)}
@media(max-width:767px){.lss-marquee__item{font-size:22px}.lss-marquee__item i{margin:0 14px}}

/* ---- Hero inset card ---- */
.lss-hero-card{box-shadow:0 24px 60px rgba(0,0,0,.35)}
.lss-hero-card img{height:170px;object-fit:cover;width:100%;display:block}
@media(max-width:1100px){.lss-hero-card{display:none!important}}




/* ---- Capability bars ---- */
.lss-bar-track{height:4px;background:#DDE3E9;width:100%}
.lss-bar-fill{height:4px;background:#307ED8}
.lss-ph{color:#B9563F;font-weight:700}

/* ---- Process panels: 4 across, number stacked above title, hover reveal ---- */
.lss-proc{display:flex!important;flex-wrap:wrap!important;gap:0!important;padding:0!important}
.lss-proc-pan{position:relative;flex:1 1 25%;max-width:25%;min-width:0;overflow:hidden;
  border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.lss-proc-pan:last-child{border-right:0}

/* number sits in normal flow, above the title, same left edge */
.lss-proc-num{font-family:"Bebas Neue",sans-serif;font-size:34px;line-height:1;
  color:rgba(255,255,255,.88);letter-spacing:1px;margin:0 0 10px;text-align:left;
  transition:color .4s ease,font-size .4s ease}
.lss-proc-pan:hover .lss-proc-num{color:#fff;font-size:42px}

/* titles must never overflow a narrow panel */
.lss-proc-pan .elementor-heading-title{overflow-wrap:break-word;word-break:normal;hyphens:auto}

/* blue wash on hover (overrides Elementor's overlay pseudo-element) */
.lss-proc-pan:before{transition:background-color .45s ease,opacity .45s ease!important}
.lss-proc-pan:hover:before{background-color:#307ED8!important;background-image:none!important;opacity:.92!important}

/* arrow */
.lss-proc-arrow{margin-top:16px;font-family:"Manrope",sans-serif;font-size:19px;line-height:1;
  color:#fff;transition:transform .4s ease}
.lss-proc-pan:hover .lss-proc-arrow{transform:rotate(-45deg)}

/* description: revealed on hover ONLY where hover exists and panels are wide enough */
.lss-proc-desc{margin-top:12px!important}
@media (hover:hover) and (pointer:fine) and (min-width:1201px){
  .lss-proc-desc{max-height:0;opacity:0;overflow:hidden;margin-top:0!important;
    transition:max-height .5s ease,opacity .4s ease,margin-top .5s ease}
  .lss-proc-pan:hover .lss-proc-desc{max-height:260px;opacity:1;margin-top:12px!important}
}

/* 2-up below 1200px so titles keep room; descriptions always visible */
@media (max-width:1200px){
  .lss-proc-pan{flex:1 1 50%!important;max-width:50%!important}
  .lss-proc-pan:nth-child(2n){border-right:0}
  .lss-proc-num{font-size:30px}
}
/* 1-up on phones */
@media (max-width:640px){
  .lss-proc-pan{flex:1 1 100%!important;max-width:100%!important;border-right:0!important}
  .lss-proc-num{font-size:28px}
}

/* ---- Testimonial masonry ---- */
.lss-masonry{display:block!important;column-count:4;column-gap:22px}
.lss-masonry > .e-con,.lss-masonry > .elementor-element{break-inside:avoid;display:inline-block;width:100%;margin-bottom:22px}
@media(max-width:1100px){.lss-masonry{column-count:2}}
@media(max-width:640px){.lss-masonry{column-count:1}}
.lss-avatar{width:44px;height:44px;border-radius:50%;background:#DCE3EA;display:grid;place-items:center;font-size:11px;color:#8A97A3;font-weight:700;font-family:"Manrope";flex:none}

/* ---- Parallax band ---- */
.lss-plx{background-attachment:fixed}
@media(max-width:1024px){.lss-plx{background-attachment:scroll}}
.lss-play{width:66px;height:66px;border:1px solid rgba(255,255,255,.6);display:grid;place-items:center;color:#fff;font-size:15px;margin:0 auto}

/* ---- CTA diagonal stripes ---- */
.lss-cta{position:relative;overflow:hidden}
.lss-cta:before,.lss-cta:after{content:"";position:absolute;top:0;bottom:0;background:rgba(255,255,255,.07);transform:skewX(-18deg);pointer-events:none}
.lss-cta:before{right:38%;width:120px}
.lss-cta:after{right:22%;width:60px}

/* ---- Dots ---- */
.lss-dots{display:flex;gap:8px}
.lss-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);display:block}
.lss-dots i.on{background:#307ED8;width:22px;border-radius:4px}

/* ---- Cards ---- */
.lss-tcard{transition:transform .3s ease,box-shadow .3s ease}
.lss-tcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(22,21,21,.08)}
.lss-reveal-image img{display:block;width:100%;height:auto}

/* ---- Placeholder flag ---- */
.lss-note{background:#B9563F;color:#fff;font-family:"Manrope";font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 8px;text-transform:uppercase;display:inline-block}

/* ---- GSAP reveal prep (only when JS confirmed) ---- */
.lss-js .lss-reveal-heading .elementor-heading-title{visibility:hidden}
.lss-js .lss-reveal-image img{opacity:0}
.lss-w{display:inline-block;overflow:hidden;vertical-align:bottom}
.lss-w-in{display:inline-block;will-change:transform}

@media (prefers-reduced-motion: reduce){
 .lss-js .lss-reveal-heading .elementor-heading-title{visibility:visible!important}
 .lss-js .lss-reveal-image img{opacity:1!important}
 .lss-marquee__track{transform:none!important}
 .lss-seal svg{animation:none!important}
}

/* ---- Contact links ---- */
.lss-contact a{color:inherit;text-decoration:none}
.lss-contact a:hover{color:#618FBA}

/* ============ LSS — CONTACT PAGE (lss-contact-*) ============ */

/* Display variant of the sitewide marquee component.
   Reuses .lss-marquee / __viewport / __track / __item and the existing
   sitewide GSAP driver; only the visual scale and colour change here. */
.lss-marquee--display .lss-marquee__item{font-family:"Fira Sans Condensed",sans-serif;font-weight:600;font-size:96px;line-height:1;letter-spacing:0;text-transform:uppercase;color:#161515}
.lss-marquee--display .lss-marquee__item i{margin:0 34px;transform:none;font-size:0;line-height:0;color:#307ED8}
.lss-marquee--display .lss-marquee__item i svg{display:block;width:52px;height:52px}
@media(max-width:1024px){
  .lss-marquee--display .lss-marquee__item{font-size:64px}
  .lss-marquee--display .lss-marquee__item i{margin:0 24px}
  .lss-marquee--display .lss-marquee__item i svg{width:36px;height:36px}
}
@media(max-width:767px){
  .lss-marquee--display .lss-marquee__item{font-size:42px}
  .lss-marquee--display .lss-marquee__item i{margin:0 16px}
  .lss-marquee--display .lss-marquee__item i svg{width:24px;height:24px}
}

/* Contact detail rows: icon sits on the cap-height of the first line */
.lss-contact-info .lss-contact-item .elementor-icon-box-icon{margin-top:2px}
.lss-contact-info .lss-contact-item .elementor-icon-box-title a{color:inherit;transition:color .25s ease}
.lss-contact-info .lss-contact-item .elementor-icon-box-title a:hover{color:#307ED8}

/* Page banner breadcrumb trail */
.lss-page-banner-crumbs .eael-breadcrumbs a{text-decoration:none}
.lss-page-banner-crumbs .eael-breadcrumbs a:hover{color:#307ED8}

/* Slot reserved for the Gravity Forms enquiry form */
.lss-contact-form-slot{min-width:0}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Bebas Neue';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://laserscanning.wpenginepowered.com/wp-content/uploads/lss-fonts/BebasNeue-Regular.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://laserscanning.wpenginepowered.com/wp-content/uploads/lss-fonts/Manrope-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://laserscanning.wpenginepowered.com/wp-content/uploads/lss-fonts/Manrope-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://laserscanning.wpenginepowered.com/wp-content/uploads/lss-fonts/Manrope-SemiBold.woff2') format('woff2');
}
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://laserscanning.wpenginepowered.com/wp-content/uploads/lss-fonts/Manrope-Bold.woff2') format('woff2');
}
/* End Custom Fonts CSS */