.elementor-kit-8{--e-global-color-primary:#E70D1A;--e-global-color-secondary:#171719;--e-global-color-text:#45454D;--e-global-color-accent:#0D0D0F;--e-global-color-vwhite:#FFFFFF;--e-global-color-vsurface:#F4F4F5;--e-global-color-vborder:#E4E4E6;--e-global-color-vmuted:#6B6B72;--e-global-color-vondark:#9A9AA2;--e-global-color-vredhov:#C10A15;--e-global-color-vhair:#26262B;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-0.8px;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-line-height:1.18em;--e-global-typography-secondary-letter-spacing:-0.2px;--e-global-typography-text-font-family:"IBM Plex Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:1.65em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:1.5px;--e-global-typography-vnav-font-family:"Archivo";--e-global-typography-vnav-font-size:13px;--e-global-typography-vnav-font-weight:600;--e-global-typography-vnav-text-transform:uppercase;--e-global-typography-vnav-line-height:1.2em;--e-global-typography-vnav-letter-spacing:1px;--e-global-typography-vbtn-font-family:"Archivo";--e-global-typography-vbtn-font-size:13px;--e-global-typography-vbtn-font-weight:700;--e-global-typography-vbtn-text-transform:uppercase;--e-global-typography-vbtn-line-height:1.1em;--e-global-typography-vbtn-letter-spacing:0.9px;--e-global-typography-veyebrow-font-family:"Archivo";--e-global-typography-veyebrow-font-size:11px;--e-global-typography-veyebrow-font-weight:700;--e-global-typography-veyebrow-text-transform:uppercase;--e-global-typography-veyebrow-line-height:1.2em;--e-global-typography-veyebrow-letter-spacing:1.6px;--e-global-typography-vsmall-font-family:"IBM Plex Sans";--e-global-typography-vsmall-font-size:14px;--e-global-typography-vsmall-font-weight:400;--e-global-typography-vsmall-text-transform:none;--e-global-typography-vsmall-line-height:1.6em;--e-global-typography-vsmall-letter-spacing:0px;color:#45454D;font-family:"IBM Plex Sans", sans-serif;font-size:16px;font-weight:400;line-height:1.65em;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:#E70D1A;font-family:"Archivo", sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;line-height:1.1em;letter-spacing:0.9px;color:#FFFFFF;border-radius:2px 2px 2px 2px;padding:17px 34px 17px 34px;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:#171719;}.elementor-kit-8 a:hover{color:#E70D1A;}.elementor-kit-8 h1{color:#171719;font-family:"Archivo", sans-serif;font-size:52px;font-weight:800;line-height:1.02em;letter-spacing:-1.2px;}.elementor-kit-8 h2{color:#171719;font-family:"Archivo", sans-serif;font-size:38px;font-weight:800;line-height:1.08em;letter-spacing:-0.8px;}.elementor-kit-8 h3{color:#171719;font-family:"Archivo", sans-serif;font-size:26px;font-weight:700;line-height:1.15em;letter-spacing:-0.4px;}.elementor-kit-8 h4{color:#171719;font-family:"Archivo", sans-serif;font-size:20px;font-weight:700;line-height:1.25em;letter-spacing:-0.2px;}.elementor-kit-8 h5{color:#171719;font-family:"Archivo", sans-serif;font-size:17px;font-weight:700;line-height:1.3em;letter-spacing:0px;}.elementor-kit-8 h6{color:#171719;font-family:"Archivo", sans-serif;font-size:14px;font-weight:700;line-height:1.35em;letter-spacing:1.2px;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{color:#FFFFFF;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.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-8{--e-global-typography-primary-font-size:43px;--e-global-typography-secondary-font-size:22px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:12px;--e-global-typography-vnav-font-size:12px;--e-global-typography-vbtn-font-size:12px;--e-global-typography-veyebrow-font-size:12px;--e-global-typography-vsmall-font-size:13px;}.elementor-kit-8 h1{font-size:45px;}.elementor-kit-8 h2{font-size:33px;}.elementor-kit-8 h3{font-size:22px;}.elementor-kit-8 h4{font-size:17px;}.elementor-kit-8 h5{font-size:15px;}.elementor-kit-8 h6{font-size:12px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-primary-font-size:39px;--e-global-typography-secondary-font-size:20px;--e-global-typography-text-font-size:13px;--e-global-typography-accent-font-size:12px;--e-global-typography-vnav-font-size:12px;--e-global-typography-vbtn-font-size:12px;--e-global-typography-veyebrow-font-size:12px;--e-global-typography-vsmall-font-size:12px;}.elementor-kit-8 h1{font-size:38px;}.elementor-kit-8 h2{font-size:28px;}.elementor-kit-8 h3{font-size:19px;}.elementor-kit-8 h4{font-size:15px;}.elementor-kit-8 h5{font-size:13px;}.elementor-kit-8 h6{font-size:10px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ================= VEW GLOBAL HEADER =================
   Sticky is pure CSS on the <header> landmark itself. Elementor's JS sticky
   clones the element as a spacer, which duplicated #vew-header and both menu
   <ul> ids. top:-38px parks the utility bar off-screen so the main bar pins
   flush at 0; below 768px the utility bar is display:none, so top returns
   to 0. No script, no clone, no layout jump. */
header.elementor-location-header{position:sticky;top:0;z-index:999}
@media (min-width:768px){header.elementor-location-header{top:-38px}}
.vew-header-shell{position:relative}
.vew-topbar-inner{min-height:38px}
.vew-topbar-note p{margin:0;font-size:12.5px;line-height:1.45;color:#9A9AA2}
.vew-topbar-contact .elementor-icon-list-item a:focus-visible{outline:2px solid #E70D1A;outline-offset:2px}
.vew-mainbar{box-shadow:0 4px 20px rgba(23,23,25,.05)}
.vew-logo img{display:block}
.vew-logo a:focus-visible{outline:2px solid #E70D1A;outline-offset:4px}

/* navigation */
.vew-nav .elementor-nav-menu--main .elementor-item{white-space:nowrap}
.vew-nav .elementor-item:focus-visible{outline:2px solid #E70D1A;outline-offset:3px}
.vew-btn .elementor-button:focus-visible{outline:2px solid #171719;outline-offset:3px}
.vew-nav .elementor-menu-toggle:focus-visible{outline:2px solid #E70D1A;outline-offset:2px}

/* the in-menu CTA is mobile only */
@media (min-width:1025px){.vew-menu-cta{display:none !important}}

/* ---- tablet + mobile navigation panel ---- */
@media (max-width:1024px){
  .vew-nav .elementor-menu-toggle{min-width:44px;min-height:44px;padding:10px;justify-content:center;background:transparent}
  .vew-nav .elementor-nav-menu--dropdown{border-top:1px solid #26262B;box-shadow:0 18px 44px rgba(0,0,0,.38);max-width:100vw}
  .vew-nav .elementor-nav-menu--dropdown a.elementor-item{min-height:56px;display:flex;align-items:center}
  .vew-menu-cta > a.elementor-item{background:#E70D1A !important;color:#fff !important;justify-content:center;margin:16px 20px 22px;min-height:52px;font-weight:700}
  .vew-phone-btn{order:-1}
}

/* ---- opt-in transparent-over-hero state ----
   Scaffolded for the homepage hero; add the body class to switch it on.
   Whole header goes fixed and transparent over dark artwork. */
body.vew-header-overlay header.elementor-location-header{position:fixed;top:0;left:0;right:0}
body.vew-header-overlay .vew-mainbar{background-color:transparent !important;border-bottom-color:rgba(255,255,255,.16) !important;box-shadow:none}
body.vew-header-overlay .vew-topbar{background-color:rgba(0,0,0,.34) !important}
body.vew-header-overlay .vew-nav .elementor-nav-menu--main .elementor-item{color:#FFFFFF !important}
body.vew-header-overlay .vew-nav .elementor-menu-toggle{color:#FFFFFF !important}
body.vew-header-overlay .vew-phone-btn .elementor-button{background-color:transparent !important;color:#FFFFFF !important;border-color:rgba(255,255,255,.34) !important}

/* ================= VEW GLOBAL FOOTER ================= */
/* the quote CTA band is redundant on the two pages that already are the ask */
body.page-id-25 .vew-footer-cta,
body.page-id-26 .vew-footer-cta{display:none}

.vew-foot-h{margin-bottom:20px}
.vew-foot-h .elementor-heading-title::after{content:"";display:block;width:26px;height:2px;background:#E70D1A;margin-top:11px}
.vew-foot-desc p{margin:0}
.vew-foot-legal p{margin:0}
/* footer anchors must not inherit the light-ground link ink */
.vew-footer-body .elementor-icon-list-item a,
.vew-footer-body .elementor-icon-list-item a:visited{color:#9A9AA2}
.vew-footer-body .elementor-icon-list-item a:hover .elementor-icon-list-text{color:#FFFFFF}
.vew-foot-links .elementor-icon-list-item a{padding:5px 0;transition:color .18s ease,padding-left .18s ease}
.vew-foot-links .elementor-icon-list-item a:hover{padding-left:5px}
.vew-foot-links .elementor-icon-list-item a:focus-visible{outline:2px solid #E70D1A;outline-offset:3px}
.vew-foot-contact .elementor-icon-list-item{align-items:flex-start}
.vew-foot-contact .elementor-icon-list-icon{padding-top:4px}
.vew-foot-contact .elementor-icon-list-text{line-height:1.6}
.vew-foot-contact .elementor-icon-list-item a:focus-visible{outline:2px solid #E70D1A;outline-offset:3px}
.vew-footer-logo img{display:block}
.vew-footer-bottom{border-top:1px solid #26262B}
.vew-footer-bottom p{margin:0}
.vew-footer-bottom a{color:#9A9AA2;text-decoration:none;transition:color .18s ease}
.vew-footer-bottom a:hover{color:#FFFFFF}
.vew-footer-bottom a:focus-visible{outline:2px solid #E70D1A;outline-offset:3px}

@media (max-width:767px){
  .vew-foot-h{margin-bottom:14px}
}

/* ================= MOTION ================= */
@media (prefers-reduced-motion:reduce){
  .vew-foot-links .elementor-icon-list-item a,
  .vew-footer-bottom a{transition:none !important}
}


/* ================= VEW HOMEPAGE ================= */
/* the generic footer quote band would stack against the homepage's own
   closing CTA, so the homepage carries the stronger one and hides that. */
body.home .vew-footer-cta{display:none}

/* ---- hero ---- */
.vew-h1 .elementor-heading-title{color:#FFFFFF}
.vew-accent{color:#E70D1A}
.vew-hero-sub p{margin:0;font-family:Archivo,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#FFFFFF;line-height:1.45}
.vew-hero-lead p{margin:0;color:rgba(255,255,255,.84);font-size:16px;line-height:1.72}
.vew-rule{width:64px;height:3px;background:#E70D1A;flex:0 0 auto}

/* ---- shared type ---- */

.vew-lead p{margin:0;font-size:17px;line-height:1.75}
.vew-lead p + p{margin-top:16px}

/* ---- hairline item blocks (used instead of cards) ---- */
.vew-item{border-top:1px solid #E4E4E6;padding-top:20px}
.vew-item .elementor-heading-title{font-size:17px;line-height:1.3;letter-spacing:-.1px}
.vew-item p{margin:0}
.vew-item--dark{border-top-color:#26262B}

/* ---- product tiles ---- */
.vew-cat{position:relative;overflow:hidden;transition:box-shadow .28s ease,transform .28s ease}
.vew-cat:hover{box-shadow:0 16px 44px rgba(13,13,15,.30);transform:translateY(-2px)}
.vew-cat::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.10);pointer-events:none}
.vew-cat .elementor-heading-title{color:#FFFFFF}
.vew-cat-note p{margin:0;color:rgba(255,255,255,.80);font-size:14px;line-height:1.6}
/* the accent red only clears 4.13:1 on the #0D0D0F tile floor, which fails AA
   at this size, so the dark tiles carry a white label and the light tile keeps
   the red (4.70:1 on white). One accent, still legible. */
.vew-cat-more p{margin:0;color:#FFFFFF;font-family:Archivo,sans-serif;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.vew-cat--light .vew-cat-more p{color:#E70D1A}
.vew-cat a:focus-visible{outline:2px solid #E70D1A;outline-offset:3px}

/* product tile on a light ground keeps the product legible */
.vew-cat--light::after{border-color:#E4E4E6}
.vew-cat--light .elementor-heading-title{color:#171719}
.vew-cat--light .vew-cat-note p{color:#45454D}

/* ---- brand wall ---- */
.vew-brand-cell{border:1px solid #E4E4E6;background:#FFFFFF}
.vew-brand-cell img{max-height:64px;object-fit:contain}
.vew-brand-text p{margin:0;font-family:Archivo,sans-serif;font-weight:800;font-size:clamp(20px,2.1vw,28px);letter-spacing:.05em;color:#8A8A92;text-transform:uppercase;line-height:1}
.vew-brand-note p{margin:0;font-size:14px;line-height:1.7}

/* ---- industries ---- */
.vew-ind-cell{border-top:1px solid #26262B;padding-top:22px}
.vew-ind-cell .elementor-icon-box-title{margin:0}
.vew-ind-cell .elementor-icon-box-title,
.vew-ind-cell .elementor-icon-box-title a{color:#FFFFFF;font-family:Archivo,sans-serif;font-size:15px;font-weight:700;line-height:1.3;letter-spacing:-.1px}
.vew-ind-cell .elementor-icon{color:#E70D1A}

/* ---- closing CTA ---- */
.vew-cta-close h2.elementor-heading-title{color:#FFFFFF}
.vew-cta-close .vew-lead p{color:#FFFFFF}

@media (max-width:767px){
  .vew-brand-cell img{max-height:52px}
}

@media (prefers-reduced-motion:reduce){
  .vew-cat{transition:none !important}
  .vew-cat:hover{transform:none !important}
}/* End custom CSS */