*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#071a29}
body{font-family:Arial,Helvetica,sans-serif}
.page{width:100%;max-width:1600px;margin:0 auto;position:relative;line-height:0}
.template-image{display:block;width:100%;height:auto}
.hotspot-nav{position:absolute;top:0;left:0;width:100%;height:3.8%;z-index:5}
.hotspot{position:absolute;top:0;height:100%;display:block;background:transparent;cursor:pointer}
.hotspot:focus-visible{outline:2px solid #ff252d;outline-offset:-2px;background:rgba(255,255,255,.12)}
@media(max-width:600px){.hotspot-nav{height:4.2%}}


/* Explicitly hit-testable transparent overlays for screenshot template buttons */
.page-action-hotspots{
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  width:100%;height:100%;
  z-index:50;
  pointer-events:auto;
}
.action-hotspot{
  position:absolute;
  display:block;
  background:rgba(0,0,0,0.001);
  pointer-events:auto;
  cursor:pointer;
  z-index:51;
  text-decoration:none;
  line-height:normal;
}
.action-hotspot:focus-visible{
  outline:3px solid #ff252d;
  outline-offset:-3px;
  background:rgba(255,255,255,.15);
}
.hotspot-nav{z-index:60;pointer-events:none}
.hotspot{pointer-events:auto}


/* Keep all editable fields and the send button in the existing PNG placeholder positions. */
.live-contact-form{
  position:absolute;
  left:61.1%;
  top:10.05%;
  width:33.9%;
  height:17.5%;
  z-index:80;
  display:block;
  line-height:normal;
  font-family:Arial,Helvetica,sans-serif;
}
.live-contact-form input,
.live-contact-form select,
.live-contact-form textarea{
  position:absolute;
  box-sizing:border-box;
  min-width:0;
  height:7.8%;
  border:1px solid #aebdce;
  border-radius:3px;
  background:#ffffff;
  color:#102b55;
  padding:0 7px;
  font:600 clamp(10px, .88vw, 14px)/1.2 Arial,Helvetica,sans-serif;
  box-shadow:none;
  outline-offset:1px;
}
.live-contact-form select{
  left:0;top:0;width:100%;height:8.4%;
}
.live-contact-form #fullName{left:0;top:21.0%;width:46.5%;}
.live-contact-form #company{left:53.5%;top:21.0%;width:46.5%;}
.live-contact-form #email{left:0;top:40.0%;width:46.5%;}
.live-contact-form #phone{left:53.5%;top:40.0%;width:46.5%;}
.live-contact-form #message{
  left:0;top:60.0%;width:100%;height:21%;
  resize:none;padding:5px 7px;
}
.live-contact-form button{
  position:absolute;
  left:0;top:82%;
  width:40%;
  height:12%;
  border:0;border-radius:4px;
  background:#f51f2b;color:white;
  font:800 clamp(8px, .72vw, 10px)/1 Arial,Helvetica,sans-serif;
  text-shadow:0 0 0.2px currentColor;
  cursor:pointer;
}
.live-contact-form button span{padding-left:5px;font-weight:800}
.live-contact-form input::placeholder,
.live-contact-form textarea::placeholder{color:#52647a;opacity:1;font-weight:600}
.live-contact-form select{font-weight:600}
.live-contact-form input:focus,
.live-contact-form select:focus,
.live-contact-form textarea:focus{border-color:#244f82;outline:2px solid rgba(36,79,130,.18)}
.live-contact-form button:hover{background:#d91521}
.live-contact-form .form-feedback{
  display:none;
  position:absolute;left:0;top:101%;width:100%;
  margin:0;color:#16355d;font-size:clamp(7px,.62vw,8px);
  line-height:1.15;background:rgba(255,255,255,.96);padding:2px 4px;border-radius:3px;
}
.live-contact-form .form-feedback.is-visible{display:block}
.visually-hidden{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
@media(max-width:600px){
  .live-contact-form input,.live-contact-form select,.live-contact-form textarea{
    padding:0 3px;border-radius:2px;font-size:9px;
  }
  .live-contact-form button{border-radius:2px}
}


/* Functional search overlay, added only to non-home pages. */
.site-search{
  position:absolute;
  left:77.1%;
  top:1.25%;
  width:3.3%;
  height:2.0%;
  z-index:120;
  line-height:normal;
}
.site-search-toggle{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;padding:0;
  border:0;background:transparent;color:#0a2b67;
  font-size:0;line-height:1;cursor:pointer;
}
.site-search-toggle:hover{background:rgba(255,255,255,.12)}
.site-search-panel{
  position:absolute;
  top:120%;right:-10%;
  width:clamp(240px,31vw,390px);
  padding:10px;
  background:#fff;
  border:1px solid #dce5f1;
  border-radius:8px;
  box-shadow:0 8px 28px rgba(0,18,50,.2);
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:7px;
  z-index:130;
}
.site-search-panel[hidden]{display:none}
.site-search-panel input{
  min-width:0;width:100%;height:36px;
  border:1px solid #ccd8e8;border-radius:5px;
  padding:0 10px;font:14px Arial,sans-serif;color:#102b55;
}
.site-search-panel button{
  border:0;border-radius:5px;padding:0 11px;
  background:#f51f2b;color:#fff;font:600 12px Arial,sans-serif;cursor:pointer;
}
.site-search-panel .site-search-close{background:#eaf0f8;color:#102b55;font-size:20px;padding:0 9px}
.site-search-results{grid-column:1 / 4;display:grid;gap:4px;max-height:260px;overflow:auto}
.site-search-result{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:9px 8px;border-radius:5px;color:#102b55;text-decoration:none;
  font:13px Arial,sans-serif;line-height:1.25;
}
.site-search-result:hover{background:#eef4ff}
.site-search-result span{color:#f51f2b;font-size:11px;white-space:nowrap}
.site-search-empty{grid-column:1 / 4;margin:4px 2px;color:#42536e;font:12px/1.4 Arial,sans-serif}
@media(max-width:700px){
 .site-search{left:77%;top:1.25%;width:4%;height:2.1%}
 .site-search-toggle{font-size:0}
 .site-search-panel{right:-90%;width:min(88vw,340px)}
}




/* Footer Quick Links: invisible navigation hotspots, active on every page including Home. */
/* Footer Quick Links: independent, tightly aligned hit areas for each label. */
.footer-quick-links-hotspots{
  position:absolute;
  left:23.7%;
  top:85.7%;
  width:40%;
  height:10%;
  z-index:250;
  pointer-events:none;
}
.footer-quick-links-hotspots .footer-quick-link{
  position:absolute;
  left:0;
  height:14.2857%;
  display:block;
  pointer-events:auto;
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
  text-decoration:none;
  cursor:pointer;
}
.footer-quick-links-hotspots .footer-quick-link:hover,
.footer-quick-links-hotspots .footer-quick-link:focus,
.footer-quick-links-hotspots .footer-quick-link:focus-visible,
.footer-quick-links-hotspots .footer-quick-link:active{
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
}
.footer-quick-link-home{top:0%;width:16%}
.footer-quick-link-what-we-do{top:14.2857%;width:29%}
.footer-quick-link-industries{top:28.5714%;width:22%}
.footer-quick-link-engineering-capabilities{top:42.8571%;width:45%}
.footer-quick-link-about{top:57.1429%;width:15%}
.footer-quick-link-careers{top:71.4286%;width:20%}
.footer-quick-link-contact{top:85.7143%;width:20%}


/* Our Services footer links: transparent hotspots aligned over screenshot text. */
.footer-our-services-hotspots{
  position:absolute;
  left:43.0%;
  top:85.7%;
  width:18.0%;
  height:9.1%;
  z-index:251;
  pointer-events:none;
}
.footer-our-services-hotspots .footer-our-service{
  position:absolute;
  left:0;
  width:100%;
  height:16.0%;
  display:block;
  pointer-events:auto;
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
  text-decoration:none;
  cursor:pointer;
}
.footer-our-services-hotspots .footer-our-service:hover,
.footer-our-services-hotspots .footer-our-service:focus,
.footer-our-services-hotspots .footer-our-service:focus-visible,
.footer-our-services-hotspots .footer-our-service:active{
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
}
.footer-our-service-engineering-services{top:0%}
.footer-our-service-product-development{top:16.6667%}
.footer-our-service-embedded-systems{top:33.3333%}
.footer-our-service-industrial-automation{top:50%}
.footer-our-service-testing-validation{top:66.6667%}
.footer-our-service-staffing-training{top:83.3333%}



/* Visible Case Studies header item on the What We Do page, placed next to About. */
.visible-case-studies-nav{
  position:absolute;
  left:57.0%;
  top:3.55%;
  width:8.2%;
  height:2.7%;
  z-index:270;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0b2348;
  font-family:inherit;
  font-size:clamp(10px, 1.0vw, 17px);
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  text-decoration:none;
  background:transparent;
}
.visible-case-studies-nav:hover{
  color:#0b2348;
  text-decoration:none;
}








/* The full footer logo is clickable, but its hitbox ends before the social icon row. */
.footer-logo-home-hotspot{
  position:absolute;
  left:18.0%;
  top:65.0%;
  width:25.0%;
  height:16.0%;
  z-index:9100;
  display:block;
  background:rgba(0,0,0,0.001);
  pointer-events:auto;
}
.header-logo-home-hotspot{
  position:absolute;left:3.5%;top:1.1%;width:13.5%;height:6.4%;
  z-index:9100;display:block;background:rgba(0,0,0,0.001);pointer-events:auto;
}


/* Final separated footer click zones: logo above, social icons below. */
.footer-logo-home-hotspot{
  position:absolute;
  left:3.5%;
  top:88.0%;
  width:19.0%;
  height:5.0%;
  z-index:1200;
  display:block;
  background:transparent;
  pointer-events:auto;
  cursor:pointer;
}
.footer-social-hotspots{
  position:absolute;
  left:3.0%;
  top:94.5%;
  width:15.0%;
  height:3.0%;
  z-index:1300;
  pointer-events:none;
}
.footer-social-hotspots a{
  position:absolute;
  top:0;
  height:100%;
  display:block;
  background:transparent;
  border:0;
  outline:0;
  pointer-events:auto;
  cursor:pointer;
  text-decoration:none;
}
.footer-social-linkedin{left:0%;width:24%}
.footer-social-youtube{left:36%;width:24%}
.footer-social-instagram{left:72%;width:24%}


/* FINAL OVERRIDE: keep the footer logo hitbox separate from the three social icons. */
main.page .footer-logo-home-hotspot{
  left:3.0% !important;
  top:87.2% !important;
  width:13.8% !important;
  height:6.0% !important;
  z-index:1500 !important;
  pointer-events:auto !important;
}
main.page .footer-social-hotspots{
  left:16.0% !important;
  top:93.0% !important;
  width:29.0% !important;
  height:5.0% !important;
  z-index:2000 !important;
  pointer-events:none !important;
}
main.page .footer-social-hotspots a{
  top:0 !important;
  height:100% !important;
  width:18% !important;
  display:block !important;
  pointer-events:auto !important;
  z-index:2001 !important;
  background:transparent !important;
}
main.page .footer-social-hotspots .footer-social-linkedin{left:0% !important}
main.page .footer-social-hotspots .footer-social-youtube{left:36% !important}
main.page .footer-social-hotspots .footer-social-instagram{left:72% !important}


/* FINAL FIX: social icon hitboxes take precedence over the footer logo on every non-home page. */
main.page > .footer-social-hotspots{
  position:absolute !important;
  left:3.0% !important;
  top:93.2% !important;
  width:15.5% !important;
  height:4.0% !important;
  z-index:2147483000 !important;
  pointer-events:none !important;
}
main.page > .footer-social-hotspots > a{
  position:absolute !important;
  top:0 !important;
  height:100% !important;
  display:block !important;
  z-index:2147483000 !important;
  pointer-events:auto !important;
  background:transparent !important;
  cursor:pointer !important;
}
main.page > .footer-social-hotspots > .footer-social-linkedin{left:0% !important;width:25% !important}
main.page > .footer-social-hotspots > .footer-social-youtube{left:36% !important;width:25% !important}
main.page > .footer-social-hotspots > .footer-social-instagram{left:72% !important;width:25% !important}

/* Logo target only covers the logo image/text and ends above the social row. */
main.page > .logo-home-hotspot.footer-logo-home-hotspot{
  left:3.0% !important;
  top:86.0% !important;
  width:18.0% !important;
  height:6.5% !important;
  z-index:1000 !important;
  pointer-events:auto !important;
}


/* FINAL ICON TARGETS: each transparent link covers the full visible icon.
   Coordinates are relative to the complete 1024x1536 page template. */
main.page > .footer-social-hotspots{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:2147483000 !important;
  pointer-events:none !important;
}
main.page > .footer-social-hotspots > a{
  position:absolute !important;
  display:block !important;
  top:90.4% !important;
  height:4.4% !important;
  width:4.2% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:rgba(0,0,0,0.001) !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  z-index:2147483000 !important;
}
main.page > .footer-social-hotspots > .footer-social-linkedin{left:3.9% !important}
main.page > .footer-social-hotspots > .footer-social-youtube{left:7.8% !important}
main.page > .footer-social-hotspots > .footer-social-instagram{left:11.7% !important}

/* Footer logo's hit area ends above the social icon row. */
main.page > .logo-home-hotspot.footer-logo-home-hotspot{
  left:3.0% !important;
  top:82.0% !important;
  width:25.0% !important;
  height:7.5% !important;
  z-index:1000 !important;
  pointer-events:auto !important;
}

/* Cross-template override: logo hitbox is limited to the logo/tagline block;
   social hitboxes remain on top and cover the full icon shapes. */
main.page > .logo-home-hotspot.footer-logo-home-hotspot{
  left:3% !important;
  top:81% !important;
  width:29% !important;
  height:9% !important;
  z-index:500 !important;
  pointer-events:auto !important;
}
main.page > .footer-social-hotspots{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:2147483000 !important;
  pointer-events:none !important;
}
main.page > .footer-social-hotspots > a{
  position:absolute !important;
  display:block !important;
  top:90.4% !important;
  height:4.4% !important;
  width:5.5% !important;
  z-index:2147483000 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  background:transparent !important;
}
main.page > .footer-social-hotspots > .footer-social-linkedin{left:3.0% !important}
main.page > .footer-social-hotspots > .footer-social-youtube{left:7.5% !important}
main.page > .footer-social-hotspots > .footer-social-instagram{left:12.0% !important}


/* Quick Links hotspot correction (all 15 templates).
   Keep each invisible hit area in its own narrow row, sized to its label. */
main.page { position: relative; }
main.page > nav.footer-quick-links-hotspots {
  position: absolute !important;
  left: 23.7% !important;
  top: 85.7% !important;
  width: 18.5% !important;
  height: 9.1% !important;
  z-index: 900 !important;
  pointer-events: none !important;
}
main.page > nav.footer-quick-links-hotspots > a.footer-quick-link {
  position: absolute !important;
  left: 0 !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 8.0% !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-home { top: 0% !important; width: 30% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-what-we-do { top: 14.2857% !important; width: 57% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-industries { top: 28.5714% !important; width: 40% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-engineering-capabilities { top: 42.8571% !important; width: 94% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-about { top: 57.1429% !important; width: 26% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-careers { top: 71.4286% !important; width: 34% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-contact { top: 85.7143% !important; width: 32% !important; }
@media (max-width: 700px) {
  main.page > nav.footer-quick-links-hotspots {
    width: 20% !important;
  }
}


/* Footer legal links: transparent hitboxes positioned over the labels in the supplied page templates. */
main.page > nav.footer-legal-hotspots {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2147483001 !important;
  pointer-events: none !important;
}
main.page > nav.footer-legal-hotspots > a {
  position: absolute !important;
  display: block !important;
  top: calc(97.8% - 0.10in) !important;
  height: 1.1% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: rgba(0,0,0,0.001) !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  text-decoration: none !important;
  z-index: 2147483002 !important;
}
main.page > nav.footer-legal-hotspots > .footer-privacy { left: 75.7% !important; width: calc(4.5% - 0.10in) !important; }
main.page > nav.footer-legal-hotspots > .footer-terms { left: 81.3% !important; width: calc(4.5% - 0.10in) !important; }
main.page > nav.footer-legal-hotspots > .footer-site { left: 86.7% !important; width: calc(5.5% - 0.10in) !important; }
/* The home template places the legal labels slightly farther right and lower. */
main.page[aria-label="Home page"] > nav.footer-legal-hotspots > a { top: 98.4% !important; height: 1.1% !important; }
main.page[aria-label="Home page"] > nav.footer-legal-hotspots > .footer-privacy { left: 78.8% !important; width: 4.2% !important; }
main.page[aria-label="Home page"] > nav.footer-legal-hotspots > .footer-terms { left: 83.5% !important; width: 3.5% !important; }
main.page[aria-label="Home page"] > nav.footer-legal-hotspots > .footer-site { left: 87.8% !important; width: 5.2% !important; }
main.page > nav.footer-legal-hotspots > a:focus-visible {
  outline: 2px solid #f05a3c !important;
  outline-offset: 1px !important;
}

/* Final contact form fit: compact fields with no oversized outer glow. */
.live-contact-form input,
.live-contact-form select,
.live-contact-form textarea {
  box-shadow: none !important;
  filter: none !important;
}
.live-contact-form textarea {
  height: 21% !important;
}

/* Align the real Send Message button directly over the red button in the contact-page template. */
.live-contact-form button {
  top: 88.5% !important;
  left: 0 !important;
  width: 40% !important;
  height: 12% !important;
  z-index: 10 !important;
}

/* Visible Case Studies label for page templates whose screenshot header omits it. */
.case-studies-visible-nav{
  position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;
  z-index:65;color:#fff;text-decoration:none;white-space:nowrap;
  font:600 clamp(7px,.78vw,12px)/1 Arial,Helvetica,sans-serif;line-height:1;
  pointer-events:auto;cursor:pointer;text-shadow:0 0 1px rgba(255,255,255,.25);
}
.case-studies-visible-nav:hover,.case-studies-visible-nav:focus-visible{
  text-decoration:underline;outline:2px solid rgba(255,255,255,.7);outline-offset:-2px;
}

/* Case Studies navigation: dedicated space between Engineering Capabilities/About and Careers,
   matching the dark navy header text shown in the reference screenshot. */
.case-studies-visible-nav{
  left:66.2% !important;
  width:8.2% !important;
  top:0 !important;
  height:100% !important;
  color:#082b67 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-weight:600 !important;
  font-size:clamp(7px,.78vw,12px) !important;
  text-align:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  z-index:90 !important;
}

/* Slightly larger Case Studies label while preserving its separate header slot. */
.case-studies-visible-nav{
  font-size:clamp(9px,.95vw,14px) !important;
  font-weight:600 !important;
}

/* Final header spacing refinement: move Case Studies right and enlarge the label. */
.case-studies-visible-nav{
  left:67.4% !important;
  width:8.6% !important;
  font-size:clamp(10px,1.08vw,15px) !important;
  font-weight:600 !important;
  color:#082b67 !important;
}

/* User-requested final nudge to the right; retain existing font and color. */
.case-studies-visible-nav{
  left:68.4% !important;
  width:8.6% !important;
}

/* Home page: make the Case Studies header label white to contrast with the dark hero image. */
.case-studies-visible-nav.home-case-studies,
body.home .case-studies-visible-nav,
main.home .case-studies-visible-nav{
  color:#ffffff !important;
}

/* Explicit Home header Case Studies link, positioned in its own slot between About and Careers. */
.home-case-studies-link{
  position:absolute !important;
  left:73.0% !important;
  top:0 !important;
  width:8.0% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#ffffff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(10px,1.08vw,15px) !important;
  font-weight:600 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  z-index:200 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}
.home-case-studies-link:hover,.home-case-studies-link:focus-visible{
  text-decoration:underline !important;
}

/* Home page only: nudge Case Studies slightly left; other pages remain unchanged. */
.home-case-studies-link{
  left:71.8% !important;
}

/* Fine alignment: raise the real Contact form button to cover the template button completely. */
.live-contact-form button {
  top: 78% !important;
  left: 0 !important;
  width: 40% !important;
  height: 12% !important;
  z-index: 20 !important;
}

/* Fine adjustment: move the Contact form button slightly down from the previous position. */
.live-contact-form button {
  top: 83% !important;
  left: 0 !important;
  width: 40% !important;
  height: 12% !important;
  z-index: 20 !important;
}

/* Home header: isolated navigation hit areas; each link owns only its own word. */
.hotspot-nav{z-index:200!important;pointer-events:none!important;height:3.8%}
.hotspot-nav .hotspot{pointer-events:auto!important;top:0;height:100%;z-index:201}
.page-action-hotspots{z-index:50}

/* Header Start a Conversation button: dedicated hit target on the requested service pages. */
.hotspot-nav .header-start-conversation{
  position:absolute!important;
  left:78%!important;
  top:0!important;
  width:18%!important;
  height:100%!important;
  z-index:2147483000!important;
  pointer-events:auto!important;
  background:transparent!important;
}


/* Small contact-field size adjustment only; preserve the original form layout and positions. */
.live-contact-form input,
.live-contact-form select,
.live-contact-form textarea {
  height: 8.4% !important;
}
.live-contact-form select {
  height: 9.0% !important;
}
.live-contact-form #fullName,
.live-contact-form #email {
  width: 48.0% !important;
}
.live-contact-form #company,
.live-contact-form #phone {
  left: 52.0% !important;
  width: 48.0% !important;
}
.live-contact-form #message {
  height: 23% !important;
}


/* Increase contact form field dimensions only; preserve every field's existing left/top position and the form container location. */
.live-contact-form input,
.live-contact-form select,
.live-contact-form textarea {
  height: 9.2% !important;
}
.live-contact-form select {
  height: 10.0% !important;
}
.live-contact-form #fullName,
.live-contact-form #email {
  width: 49.0% !important;
}
.live-contact-form #company,
.live-contact-form #phone {
  width: 49.0% !important;
}
.live-contact-form #message {
  height: 25.0% !important;
}


/* Very slight upward adjustment only: preserve the approved form position and box sizes otherwise. */
.live-contact-form {
  transform: translate(0.05in, -0.05in) !important;
}


/* User-requested adjustment: enlarge only the dropdown, name, company, email and phone boxes by 0.05in on each edge. Keep the project message box and all other pages/elements unchanged. */
.live-contact-form select {
  left: -0.05in !important;
  top: -0.05in !important;
  width: calc(100% + 0.1in) !important;
  height: calc(10.0% + 0.1in) !important;
}
.live-contact-form #fullName,
.live-contact-form #email {
  left: -0.05in !important;
  width: calc(49.0% + 0.1in) !important;
  height: calc(9.2% + 0.1in) !important;
}
.live-contact-form #company,
.live-contact-form #phone {
  left: calc(52.0% - 0.05in) !important;
  width: calc(49.0% + 0.1in) !important;
  height: calc(9.2% + 0.1in) !important;
}

/* User-requested tiny upward adjustment: move only the Name and Company fields 0.05in up. Keep all sizes, horizontal positions, other fields, and pages unchanged. */
.live-contact-form #fullName,
.live-contact-form #company {
  top: calc(21.0% - 0.05in) !important;
}

/* Latest user request: widen only the project message box by 0.05in on each side and reduce its bottom extent by 0.5in. Keep its top and all other fields/pages unchanged. */
.live-contact-form #message {
  left: -0.05in !important;
  width: calc(100% + 0.1in) !important;
  height: calc(25.0% - 0.4in) !important;
}

/* Latest requested adjustment: extend only the bottom of the project message box by 0.08in. Keep its top, width, other fields, and all other pages unchanged. */
.live-contact-form #message {
  height: calc(25.0% - 0.27in) !important;
}


/* User-requested adjustment: extend only the bottom of the project message box by an additional 0.06in. Keep top, width, all other fields and pages unchanged. */
.live-contact-form #message {
  height: calc(25.0% - 0.21in) !important;
}

/* Latest requested adjustment: move only the Send Message button 0.02in left and 0.02in down. Keep all fields, sizes, and other pages unchanged. */
.live-contact-form button {
  transform: translate(-0.02in, 0.02in) !important;
}


/* Final footer-logo hit area: cover the complete logo and S2V Automation text on every page.
   Keep the social links in their separate row underneath the logo. */
main.page > a.logo-home-hotspot.footer-logo-home-hotspot {
  left: 3% !important;
  top: 81% !important;
  width: 29% !important;
  height: 9% !important;
  z-index: 1500 !important;
  display: block !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
main.page > nav.footer-social-hotspots {
  z-index: 2147483000 !important;
  pointer-events: none !important;
}
main.page > nav.footer-social-hotspots > a {
  z-index: 2147483000 !important;
  pointer-events: auto !important;
}

/* Brand-colour social logos over the existing footer icon positions on every page. */
main.page > .footer-social-hotspots > a::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}
main.page > .footer-social-hotspots > .footer-social-linkedin::after {
  background-image: url("assets/linkedin-icon.svg");
}
main.page > .footer-social-hotspots > .footer-social-youtube::after {
  background-image: url("assets/youtube-icon.svg");
}
main.page > .footer-social-hotspots > .footer-social-instagram::after {
  background-image: url("assets/instagram-icon.svg");
}


/* User-requested adjustment: 0.40-inch social logos with tighter spacing across all pages. */
main.page > nav.footer-social-hotspots {
  left: 3% !important;
  top: 88.5% !important;
  width: 1.30in !important;
  height: 0.40in !important;
  z-index: 2147483000 !important;
}
main.page > nav.footer-social-hotspots > a {
  top: 0 !important;
  width: 0.40in !important;
  height: 0.40in !important;
}
main.page > nav.footer-social-hotspots > .footer-social-linkedin { left: 0 !important; }
main.page > nav.footer-social-hotspots > .footer-social-youtube { left: 0.45in !important; }
main.page > nav.footer-social-hotspots > .footer-social-instagram { left: 0.90in !important; }
main.page > nav.footer-social-hotspots > a::after {
  background-size: contain !important;
}

/* User-requested adjustment: shift the full social icon row 0.05 inch right and down. */
main.page > nav.footer-social-hotspots {
  transform: translate(0.05in, 0.05in) !important;
}


/* What We Do page only: move social icon row 0.4in up and 0.7in right from its previous position. */
main.page.what-we-do-page > nav.footer-social-hotspots {
  transform: translate(0.75in, -0.35in) !important;
}


/* Industries page only: move the social icon row 0.5 inch down. */
main.page.industries-page > nav.footer-social-hotspots {
  transform: translate(0.18in, 0.55in) !important;
}


/* Engineering Capabilities page only: move the social icon row one inch down. */
main.page:has(img.template-image[src*="engineering-capabilities"]) > nav.footer-social-hotspots {
  transform: translate(0.05in, 1.05in) !important;
}


/* About page only: move the social icon row an additional 0.04 inch up. */
main.page:has(img.template-image[src*="about"]) > nav.footer-social-hotspots {
  transform: translate(0.05in, 0.63in) !important;
}


/* About page only: shift all three social icon hitboxes 0.05 inches right. */
main.page[aria-label="About S2V Automation page"] > nav.footer-social-hotspots > .footer-social-linkedin {
  left: calc(0% + 0.10in) !important;
}
main.page[aria-label="About S2V Automation page"] > nav.footer-social-hotspots > .footer-social-youtube {
  left: calc(0.45in + 0.10in) !important;
}
main.page[aria-label="About S2V Automation page"] > nav.footer-social-hotspots > .footer-social-instagram {
  left: calc(0.90in + 0.10in) !important;
}


/* Engineering Capabilities page only: shift all three social icons 0.05 inches right. */
main.page:has(img.template-image[src*="engineering-capabilities"]) > nav.footer-social-hotspots > a {
  transform: translateX(0.09in);
}


/* Case Studies page only: move the three footer social icons 0.5in down and 0.09in right. */
main.page:has(img.template-image[src*="case-studies"]) > nav.footer-social-hotspots {
  transform: translate(0.09in, 0.5in) !important;
}


/* Case Studies page only: additional 0.3in down; move YouTube and Instagram 0.07in right. */
main.page:has(img.template-image[src*="case-studies"]) > nav.footer-social-hotspots {
  transform: translate(0.09in, 0.8in) !important;
}
main.page:has(img.template-image[src*="case-studies"]) > nav.footer-social-hotspots > .footer-social-youtube {
  left: calc(0.45in + 0.07in) !important;
}
main.page:has(img.template-image[src*="case-studies"]) > nav.footer-social-hotspots > .footer-social-instagram {
  left: calc(0.90in + 0.07in) !important;
}


/* What We Do page only: user-requested additional 0.08in up and 0.08in right. */
main.page.what-we-do-page > nav.footer-social-hotspots { transform: translate(0.08in, -0.08in) !important; }


/* Contact page only: place the coloured social icons below the footer tagline.
   The contact background template already has no monochrome social icons baked in. */
main.page[aria-label="Contact page"] > nav.footer-social-hotspots {
  top: 94.5% !important;
  left: 3% !important;
  transform: translate(0, 0) !important;
}


/* Requested footer positioning: Contact page icons 0.7in up. */
main.page[aria-label="Contact page"] > nav.footer-social-hotspots {
  transform: translateY(-0.7in) !important;
}

/* Requested footer positioning: Engineering Services page icons 1in down. */
main.page:has(img.template-image[src*="engineering-services"]) > nav.footer-social-hotspots {
  transform: translateY(1in) !important;
}


/* Product Development page only: move coloured footer social icons 0.09in down. */
main.page:has(img.template-image[src*="product-development"]) > nav.footer-social-hotspots {
  transform: translateY(0.09in) !important;
}


/* Product Development page only: move coloured footer social icons an additional 0.10in down. */
main.page:has(img.template-image[src*="product-development"]) > nav.footer-social-hotspots {
  transform: translateY(0.19in) !important;
}



/* Product Development page only: move coloured footer social icons an additional 0.10in down (0.29in total). */
main.page:has(img.template-image[src*="product-development"]) > nav.footer-social-hotspots {
  transform: translateY(0.29in) !important;
}


/* Product Development page only: set coloured footer social icons to 1.10in below original position. */
main.page:has(img.template-image[src*="product-development"]) > nav.footer-social-hotspots {
  transform: translateY(1.10in) !important;
}


/* Product Development page only: move icons 0.40in up from the previous 0.90in position (0.50in below original). */
main.page:has(img.template-image[src*="product-development"]) > nav.footer-social-hotspots { transform: translateY(0.50in) !important; }




/* Embedded Systems page: match Careers footer social-icon positioning. */
main.page:has(img.template-image[src*="embedded-systems"]) > nav.footer-social-hotspots {
  transform: translate(0.05in, 0.05in) !important;
}


/* Embedded Systems page only: move the coloured social icons 1 inch down. */
main.page:has(img.template-image[src*="embedded-systems"]) > nav.footer-social-hotspots { transform: translate(0.05in, 1.05in) !important; }


/* Industrial Automation page only: move coloured footer social icons 0.5in down. */
main.page:has(img.template-image[src*="industrial-automation"]) > nav.footer-social-hotspots {
  transform: translateY(0.5in) !important;
}


/* Testing & Validation page only: move coloured footer social icons 0.7in down. */
main.page:has(img.template-image[src*="testing-validation"]) > nav.footer-social-hotspots { transform: translateY(0.7in) !important; }


/* Staffing & Training page only: move coloured footer social icons 0.5in down. */
main.page:has(img.template-image[src*="staffing-training"]) > nav.footer-social-hotspots {
  transform: translateY(0.5in) !important;
}


/* Final fix: make the complete footer S2V Automation logo/text a single clickable home target. */
main.page > a.logo-home-hotspot.footer-logo-home-hotspot {
  left: 3% !important;
  top: 80% !important;
  width: 34% !important;
  height: 11% !important;
  z-index: 21474831 !important;
  display: block !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}
/* Keep the coloured social icons clickable in their own row. */
main.page > nav.footer-social-hotspots {
  z-index: 21474830 !important;
}


/* Requested: extend the footer logo click target 0.5in farther down on Home and Embedded Systems only. */
main.page:has(img.template-image[src*="home.jpg"]) > a.logo-home-hotspot.footer-logo-home-hotspot,
main.page:has(img.template-image[src*="embedded-systems"]) > a.logo-home-hotspot.footer-logo-home-hotspot {
  height: calc(11% + 0.5in) !important;
}


/* Requested Quick Links hitbox dimensions: 1 inch wide by 0.05 inch high on every page. */
main.page > nav.footer-quick-links-hotspots > a.footer-quick-link {
  width: 1in !important;
  height: 0.05in !important;
  max-width: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* Manager-reference behavior: independent, transparent, functional footer legal links. */
main.page > nav.footer-legal-hotspots {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2147483646 !important;
  pointer-events: none !important;
}
main.page > nav.footer-legal-hotspots > a {
  position: absolute !important;
  display: block !important;
  top: 86.0% !important;
  height: 2.2% !important;
  min-height: 12px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 2147483647 !important;
  text-decoration: none !important;
}
main.page > nav.footer-legal-hotspots > .footer-privacy { left: 36.5% !important; width: 7.2% !important; }
main.page > nav.footer-legal-hotspots > .footer-terms { left: 50.5% !important; width: 6.5% !important; }
main.page > nav.footer-legal-hotspots > .footer-site { left: 64.0% !important; width: 9.0% !important; }
main.page > nav.footer-legal-hotspots > a:focus-visible { outline: 2px solid #f05a3c !important; outline-offset: 2px !important; }


/* FINAL OVERRIDE — legal footer hitboxes aligned to the visible Privacy / Terms / Sitemap labels.
   Keep these anchors above the template image, with each hitbox limited to its own label. */
main.page > nav.footer-legal-hotspots {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 2147483647 !important;
  pointer-events: none !important;
  transform: none !important;
}
main.page > nav.footer-legal-hotspots > a {
  position: absolute !important;
  display: block !important;
  top: 90.5% !important;
  height: 2.0% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 2147483647 !important;
}
main.page > nav.footer-legal-hotspots > .footer-privacy { left: 41.0% !important; width: 7.0% !important; }
main.page > nav.footer-legal-hotspots > .footer-terms   { left: 53.5% !important; width: 6.5% !important; }
main.page > nav.footer-legal-hotspots > .footer-site    { left: 65.5% !important; width: 8.5% !important; }
main.page > nav.footer-legal-hotspots > a:focus-visible {
  outline: 2px solid #f05a3c !important;
  outline-offset: 1px !important;
}


/* FINAL ALL-PAGES OVERRIDE: use the verified legal-link hitbox geometry on every template. */
main.page > nav.footer-legal-hotspots {
  position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
  z-index: 2147483001 !important; pointer-events: none !important;
}
main.page > nav.footer-legal-hotspots > a {
  position: absolute !important; display: block !important; top: 98.4% !important; height: 1.1% !important;
  padding: 0 !important; margin: 0 !important; border: 0 !important;
  background: rgba(0,0,0,0.001) !important; pointer-events: auto !important; cursor: pointer !important;
  text-decoration: none !important; z-index: 2147483002 !important;
}
main.page > nav.footer-legal-hotspots > .footer-privacy { left: 78.8% !important; width: 4.2% !important; }
main.page > nav.footer-legal-hotspots > .footer-terms { left: 83.5% !important; width: 3.5% !important; }
main.page > nav.footer-legal-hotspots > .footer-site { left: 87.8% !important; width: 5.2% !important; }
main.page > nav.footer-legal-hotspots > a:focus-visible { outline: 2px solid #f05a3c !important; outline-offset: 1px !important; }


/* Requested adjustment: move legal-link hitboxes 0.5in up and 0.10in left on non-home pages only. */
main.page:not([aria-label="Home page"]) > nav.footer-legal-hotspots > a {
  transform: translate(-0.10in, -0.5in) !important;
}


/* Latest requested adjustment: relative to prior position, move non-home legal-link hitboxes 0.3in down and 0.13in left. */
main.page:not([aria-label="Home page"]) > nav.footer-legal-hotspots > a { transform: translate(-0.23in, -0.2in) !important; }


/* Latest adjustment: move non-home legal-link hitboxes an additional 0.10in left; preserve vertical position. */
main.page:not([aria-label="Home page"]) > nav.footer-legal-hotspots > a { transform: translate(-0.33in, -0.2in) !important; }


/* Latest adjustment: move non-home legal-link hitboxes another 0.25in left; preserve vertical position and home page. */
main.page:not([aria-label="Home page"]) > nav.footer-legal-hotspots > a { transform: translate(-0.58in, -0.2in) !important; }


/* Final cleanup: overlays must remain transparent and must never paint over the page artwork. */
main.page > .page-action-hotspots,
main.page > .hotspot-nav,
main.page > nav.footer-quick-links-hotspots,
main.page > nav.footer-our-services-hotspots,
main.page > nav.footer-social-hotspots,
main.page > nav.footer-legal-hotspots {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Action links are transparent hitboxes only; they must not create a visible black panel. */
main.page > .page-action-hotspots > a,
main.page > .hotspot-nav > a,
main.page > nav.footer-quick-links-hotspots > a,
main.page > nav.footer-our-services-hotspots > a,
main.page > nav.footer-social-hotspots > a,
main.page > nav.footer-legal-hotspots > a {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}


/* What We Do page: colored social icons replace the monochrome marks embedded in the template. */
.what-we-do-page .footer-social-colored-icons{
  position:absolute; left:4.3%; top:93.8%; width:11.0%; height:1.4%;
  display:flex; align-items:center; justify-content:space-between;
  z-index:1800; pointer-events:none; line-height:normal;
}
.what-we-do-page .footer-social-colored-icons img{
  display:block; width:17px; height:17px; object-fit:contain;
}
@media(max-width:600px){.what-we-do-page .footer-social-colored-icons img{width:12px;height:12px}}


/* What We Do page: hide only the smaller duplicate social-icon set in the footer. */
main.page[aria-label="What We Do page"] nav.footer-social-hotspots a:nth-of-type(n+4) {
  display: none !important;
}


/* Definitive What We Do footer fix: hide the separate tiny duplicate icon row.
   The larger clickable LinkedIn, YouTube, and Instagram icons remain unchanged. */
main.page.what-we-do-page > .footer-social-colored-icons {
  display: none !important;
  visibility: hidden !important;
}


/* Corrected What We Do fix: keep the large social icons baked into the page image;
   remove only the smaller CSS-generated duplicate icons underneath them. */
main.page.what-we-do-page > nav.footer-social-hotspots > a::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
}


/* What We Do: restore the same colored, linked social icons used on Industries. */
main.page.what-we-do-page > nav.footer-social-hotspots {
  left: 3% !important;
  top: 88.5% !important;
  width: 1.30in !important;
  height: 0.40in !important;
  transform: translate(0.05in, 0.05in) !important;
  pointer-events: none !important;
}
main.page.what-we-do-page > nav.footer-social-hotspots > a {
  position: absolute !important;
  top: 0 !important;
  width: 0.40in !important;
  height: 0.40in !important;
  display: block !important;
  pointer-events: auto !important;
}
main.page.what-we-do-page > nav.footer-social-hotspots > .footer-social-linkedin { left: 0 !important; }
main.page.what-we-do-page > nav.footer-social-hotspots > .footer-social-youtube { left: 0.45in !important; }
main.page.what-we-do-page > nav.footer-social-hotspots > .footer-social-instagram { left: 0.90in !important; }
main.page.what-we-do-page > nav.footer-social-hotspots > a::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  pointer-events: none !important;
}
main.page.what-we-do-page > nav.footer-social-hotspots > .footer-social-linkedin::after {
  background-image: url("assets/linkedin-icon.svg") !important;
}
main.page.what-we-do-page > nav.footer-social-hotspots > .footer-social-youtube::after {
  background-image: url("assets/youtube-icon.svg") !important;
}
main.page.what-we-do-page > nav.footer-social-hotspots > .footer-social-instagram::after {
  background-image: url("assets/instagram-icon.svg") !important;
}
/* Hide the separate duplicate images; the visible icons above are also the clickable targets. */
main.page.what-we-do-page > .footer-social-colored-icons {
  display: none !important;
}


/* Rebuilt Quick Links: neutralize the previous oversized/misaligned click layer.
   These transparent hitboxes cover only the seven footer labels. */
main.page > nav.footer-quick-links-hotspots {
  position: absolute !important;
  left: 34.0% !important;
  top: 85.9% !important;
  width: 18.0% !important;
  height: 10.2% !important;
  z-index: 2147483005 !important;
  pointer-events: none !important;
  background: transparent !important;
}
main.page > nav.footer-quick-links-hotspots > a.footer-quick-link {
  position: absolute !important;
  left: 0 !important;
  width: 100% !important;
  height: 1.05% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  text-decoration: none !important;
  pointer-events: auto !important;
}
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-home { top: 11.5% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-what-we-do { top: 25.8% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-industries { top: 40.1% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-engineering-capabilities { top: 54.4% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-about { top: 68.7% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-careers { top: 83.0% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-contact { top: 97.3% !important; }

/* Page-specific footer label alignment corrections based on each template's footer column. */
main.page.what-we-do-page > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.6% !important; width: 17.5% !important; height: 10.4% !important; }
main.page.industries-page > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.5% !important; width: 17.5% !important; height: 10.5% !important; }
main.page:has(img.template-image[src*="about"]) > nav.footer-quick-links-hotspots { left: 34.2% !important; top: 85.8% !important; width: 17.8% !important; height: 10.2% !important; }
main.page:has(img.template-image[src*="contact"]) > nav.footer-quick-links-hotspots { left: 34.1% !important; top: 85.6% !important; width: 18.0% !important; height: 10.4% !important; }
main.page:has(img.template-image[src*="careers"]) > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.8% !important; width: 17.7% !important; height: 10.2% !important; }
main.page:has(img.template-image[src*="industries"]) > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.5% !important; width: 17.5% !important; height: 10.5% !important; }
main.page:has(img.template-image[src*="engineering-capabilities"]) > nav.footer-quick-links-hotspots { left: 34.2% !important; top: 85.7% !important; width: 18.0% !important; height: 10.3% !important; }
main.page:has(img.template-image[src*="product-development"]) > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.7% !important; width: 17.8% !important; height: 10.3% !important; }
main.page:has(img.template-image[src*="embedded-systems"]) > nav.footer-quick-links-hotspots { left: 34.1% !important; top: 85.7% !important; width: 17.8% !important; height: 10.3% !important; }
main.page:has(img.template-image[src*="industrial-automation"]) > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.6% !important; width: 17.7% !important; height: 10.4% !important; }
main.page:has(img.template-image[src*="testing-validation"]) > nav.footer-quick-links-hotspots { left: 34.1% !important; top: 85.7% !important; width: 17.8% !important; height: 10.3% !important; }
main.page:has(img.template-image[src*="staffing-training"]) > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.7% !important; width: 17.8% !important; height: 10.3% !important; }
main.page:has(img.template-image[src*="engineering-services"]) > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.7% !important; width: 17.8% !important; height: 10.3% !important; }
main.page:has(img.template-image[src*="case-studies"]) > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.7% !important; width: 17.8% !important; height: 10.3% !important; }
main.page:has(img.template-image[src*="technology-stack"]) > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.7% !important; width: 17.8% !important; height: 10.3% !important; }
main.page[aria-label="Home page"] > nav.footer-quick-links-hotspots { left: 34.0% !important; top: 85.9% !important; width: 18.0% !important; height: 10.2% !important; }


/* FINAL QUICK-LINK HITBOX RESET: narrow, individual transparent areas, one per label.
   Non-home pages use their footer's lower placement; Home has its own lower footer position. */
main.page > nav.footer-quick-links-hotspots {
  position: absolute !important;
  left: 23.8% !important;
  top: 87.8% !important;
  width: 13.5% !important;
  height: 7.7% !important;
  z-index: 2147483005 !important;
  pointer-events: none !important;
  background: transparent !important;
}
main.page > nav.footer-quick-links-hotspots > a.footer-quick-link {
  position: absolute !important;
  left: 0 !important;
  height: 12.2% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  text-decoration: none !important;
  pointer-events: auto !important;
}
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-home { top: 0% !important; width: 30% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-what-we-do { top: 14.2857% !important; width: 58% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-industries { top: 28.5714% !important; width: 44% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-engineering-capabilities { top: 42.8571% !important; width: 100% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-about { top: 57.1429% !important; width: 30% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-careers { top: 71.4286% !important; width: 39% !important; }
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-contact { top: 85.7143% !important; width: 38% !important; }

/* Home footer is lower than the other templates, so align its hitboxes separately. */
main.page[aria-label="Home page"] > nav.footer-quick-links-hotspots {
  left: 23.8% !important;
  top: 92.0% !important;
  width: 13.5% !important;
  height: 6.0% !important;
}
main.page[aria-label="Home page"] > nav.footer-quick-links-hotspots > a.footer-quick-link {
  height: 13.0% !important;
}


/* Home page only: reduce Quick Links hitbox height without changing their widths. */
main.page[aria-label="Home page"] > nav.footer-quick-links-hotspots > a.footer-quick-link {
  height: 3.25% !important; /* half of the prior home-only hitbox height */
}

/* Home label was getting two overlapping hitboxes: keep only the main Quick Links link. */
main.page[aria-label="Home page"] > nav.footer-quick-links-hotspots > .footer-quick-link-home {
  display: block !important;
}
main.page[aria-label="Home page"] > nav.footer-quick-links-hotspots ~ nav.footer-quick-links-hotspots,
main.page[aria-label="Home page"] > nav.footer-quick-links-hotspots ~ a.footer-quick-link-home,
main.page[aria-label="Home page"] > a.footer-quick-link-home {
  display: none !important;
  pointer-events: none !important;
}


/* Home page correction: remove the stray extra Home quick-link overlay outside the Quick Links nav. */
main.page[aria-label="Home page"] > a[aria-label="Home"].footer-quick-link-home,
main.page[aria-label="Home page"] > a[title="Home"].footer-quick-link-home,
main.page[aria-label="Home page"] > nav:not(.footer-quick-links-hotspots) > a.footer-quick-link-home {
  display: none !important;
  pointer-events: none !important;
}

/* The Home row's hitbox should be the same height and width as each other Quick Links hitbox. */
main.page[aria-label="Home page"] > nav.footer-quick-links-hotspots > .footer-quick-link-home {
  height: 3.25% !important;
  width: 50% !important;
}


/* Home page only: move the Our Services clickable layer down by 0.9in. */
main.page[aria-label="Home page"] > nav.footer-our-services-hotspots {
  transform: translateY(0.9in) !important;
}


/* Home page Our Services: normalize the four longer labels to Product Development's hitbox height. */
main.page[aria-label="Home page"] > nav.footer-our-services-hotspots > .footer-our-service-product-development {
  height: 8.0% !important;
}
main.page[aria-label="Home page"] > nav.footer-our-services-hotspots > .footer-our-service-embedded-systems,
main.page[aria-label="Home page"] > nav.footer-our-services-hotspots > .footer-our-service-industrial-automation,
main.page[aria-label="Home page"] > nav.footer-our-services-hotspots > .footer-our-service-testing-validation,
main.page[aria-label="Home page"] > nav.footer-our-services-hotspots > .footer-our-service-staffing-training {
  height: 8.0% !important;
}


/* Quick Links: keep the Home clickable area the same height as Careers. */
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-home,
main.page > nav.footer-quick-links-hotspots > .footer-quick-link-careers {
  height: 0.10in !important;
}


/* Careers page only: move Privacy, Terms, and Sitemap clickable areas 0.10in upward. */
main.page[aria-label="Careers page"] > nav.footer-legal-hotspots > a { transform: translate(-0.58in, -0.7in) !important; }


/* Requested: Quick Links and Our Services click layers should exist only on Privacy page.
   Do not affect footer logo, social icons, or legal links. */
main.page > nav.footer-quick-links-hotspots,
main.page > nav.footer-our-services-hotspots {
  display: none !important;
  pointer-events: none !important;
}

/* Privacy page only: individual word-sized transparent footer links. */
.privacy-footer-quick-links,
.privacy-footer-our-services {
  position: absolute; inset: 0; width: 100%; height: 100%;
  z-index: 35; pointer-events: none;
}
.privacy-footer-quick-links a,
.privacy-footer-our-services a {
  position: absolute; display: block; padding: 0; margin: 0;
  border: 0; background: transparent; pointer-events: auto;
  cursor: pointer; text-decoration: none;
}
.privacy-footer-quick-links a:focus-visible,
.privacy-footer-our-services a:focus-visible {
  outline: 2px solid #ff252d; outline-offset: 1px;
}


/* HOTFIX: prevent the footer logo Home hotspot from extending over Quick Links.
   Keep the clickable logo confined to the actual logo/tagline area; social icons remain separate. */
main.page > a.logo-home-hotspot.footer-logo-home-hotspot {
  left: 3% !important;
  top: 80% !important;
  width: 17% !important;
  height: 7% !important;
  z-index: 500 !important;
  pointer-events: auto !important;
}
/* Regular page Quick Links and Our Services overlays stay disabled; Privacy uses its own links. */
main.page > nav.footer-quick-links-hotspots,
main.page > nav.footer-our-services-hotspots {
  display: none !important;
  pointer-events: none !important;
}


/* Engineering Capabilities page: requested precise hotspot adjustments only. */
main.page:has(img.template-image[src*="engineering-capabilities"]) > a.logo-home-hotspot.footer-logo-home-hotspot {
  transform: translateY(1in) !important;
}
main.page:has(img.template-image[src*="engineering-capabilities"]) > nav.footer-legal-hotspots > a {
  top: 97.8% !important;
}
/* Slightly bolder play mark on the YouTube icon to remove the hairline appearance. */
main.page:has(img.template-image[src*="engineering-capabilities"]) > nav.footer-social-hotspots > .footer-social-youtube::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='2' y='8' width='44' height='32' rx='9' fill='%23FF0033'/%3E%3Cpath d='M18 14 L35 24 L18 34 Z' fill='%23fff'/%3E%3C/svg%3E") !important;
}


/* Contact page only: move the footer S2V logo clickable area down by 1 inch. */
main.page:has(img.template-image[src*="contact.jpg"]) > a.logo-home-hotspot.footer-logo-home-hotspot { transform: translateY(1in) !important; }


/* Engineering Services page-only fixes requested on 2026-10-26:
   separate the header search hitbox from Start a Conversation,
   move the footer logo hitbox down by one inch, and preserve all other pages. */
main.page:has(img.template-image[src*="engineering-services.jpg"]) .site-search {
  left: 79.9125% !important;
  top: 1.25% !important;
  width: 1.3% !important;
  height: 2.0% !important;
  z-index: 2147483001 !important;
}
main.page:has(img.template-image[src*="engineering-services.jpg"]) .site-search-toggle {
  width: 100% !important;
  height: 100% !important;
}
main.page:has(img.template-image[src*="engineering-services.jpg"]) > nav.hotspot-nav > .header-start-conversation {
  left: calc(78% + 0.35in) !important;
  width: calc(18% - 0.35in) !important;
  top: 0 !important;
  height: 100% !important;
  z-index: 2147483000 !important;
}
main.page:has(img.template-image[src*="engineering-services.jpg"]) > a.logo-home-hotspot.footer-logo-home-hotspot {
  transform: translateY(1in) !important;
}


/* Engineering Services follow-up: align search hitbox and lower social icons slightly. */
main.page:has(img.template-image[src*="engineering-services.jpg"]) .site-search {
  transform: translate(-0.10in, -0.30in) !important;
}
main.page:has(img.template-image[src*="engineering-services.jpg"]) > nav.footer-social-hotspots {
  transform: translateY(1.10in) !important;
}

/* Product Development footer: use linked colored social icons below the restored logo/tagline. */
main.page:has(img.template-image[src*="product-development.jpg"]) > nav.footer-social-hotspots > a::after {
  content: "" !important; display:block !important; background-size:contain !important;
}


/* Embedded Systems page: reset header hit areas and fit them to the visible artwork.
   Measurements are relative to the 1024x1536 template: search icon ~803,20 to 817,34;
   Start a Conversation button ~838,11 to 977,42. No visible artwork is changed. */
main.page:has(img.template-image[src*="embedded-systems.jpg"]) .site-search {
  left: 78.35% !important;
  top: 1.30% !important;
  width: 1.45% !important;
  height: 0.92% !important;
  transform: none !important;
  z-index: 2147483001 !important;
}
main.page:has(img.template-image[src*="embedded-systems.jpg"]) .site-search-toggle {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
main.page:has(img.template-image[src*="embedded-systems.jpg"]) > nav.hotspot-nav > .header-start-conversation {
  left: 81.84% !important;
  width: 13.58% !important;
  top: 19.0% !important;
  height: 52.5% !important;
  z-index: 2147483000 !important;
  background: transparent !important;
}


/* Embedded Systems page: make the two CTA buttons navigate to Contact without changing the template artwork. */
main.page:has(img.template-image[src*="embedded-systems.jpg"]) > a.embedded-discuss-contact {
  position:absolute !important; left:5.05% !important; top:16.75% !important; width:19.55% !important; height:2.15% !important;
  z-index:2147483002 !important; display:block !important; background:transparent !important;
}
main.page:has(img.template-image[src*="embedded-systems.jpg"]) > a.embedded-footer-conversation-contact {
  position:absolute !important; left:37.4% !important; top:86.25% !important; width:14.9% !important; height:2.15% !important;
  z-index:2147483002 !important; display:block !important; background:transparent !important;
}


/* Header click-area alignment for Industrial Automation, Testing & Validation, and Staffing & Training.
   Match the measured hitboxes used on the corrected Embedded Systems header. */

main.page:has(img.template-image[src*="industrial-automation.jpg"]) .site-search {
  left: 78.35% !important;
  top: 1.30% !important;
  width: 1.45% !important;
  height: 0.92% !important;
  transform: none !important;
  z-index: 2147483001 !important;
}
main.page:has(img.template-image[src*="industrial-automation.jpg"]) .site-search-toggle {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
main.page:has(img.template-image[src*="industrial-automation.jpg"]) > nav.hotspot-nav > .header-start-conversation {
  left: 81.84% !important;
  width: 13.58% !important;
  top: 19.0% !important;
  height: 52.5% !important;
  z-index: 2147483000 !important;
  background: transparent !important;
}

main.page:has(img.template-image[src*="testing-validation.jpg"]) .site-search {
  left: 78.35% !important;
  top: 1.30% !important;
  width: 1.45% !important;
  height: 0.92% !important;
  transform: none !important;
  z-index: 2147483001 !important;
}
main.page:has(img.template-image[src*="testing-validation.jpg"]) .site-search-toggle {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
main.page:has(img.template-image[src*="testing-validation.jpg"]) > nav.hotspot-nav > .header-start-conversation {
  left: 81.84% !important;
  width: 13.58% !important;
  top: 19.0% !important;
  height: 52.5% !important;
  z-index: 2147483000 !important;
  background: transparent !important;
}

main.page:has(img.template-image[src*="staffing-training.jpg"]) .site-search {
  left: 78.35% !important;
  top: 1.30% !important;
  width: 1.45% !important;
  height: 0.92% !important;
  transform: none !important;
  z-index: 2147483001 !important;
}
main.page:has(img.template-image[src*="staffing-training.jpg"]) .site-search-toggle {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
main.page:has(img.template-image[src*="staffing-training.jpg"]) > nav.hotspot-nav > .header-start-conversation {
  left: 81.84% !important;
  width: 13.58% !important;
  top: 19.0% !important;
  height: 52.5% !important;
  z-index: 2147483000 !important;
  background: transparent !important;
}


/* Industrial Automation page: requested search offset and footer CTA link. */
main.page:has(img.template-image[src*="industrial-automation.jpg"]) .site-search {
  left: 79.75625% !important; /* previous 78.35% + 0.15in on a 1024px-wide template */
}
main.page:has(img.template-image[src*="industrial-automation.jpg"]) > .industrial-footer-conversation-contact {
  position: absolute;
  left: 27.7%;
  top: 82.55%;
  width: 14.5%;
  height: 2.4%;
  display: block;
  z-index: 2147483002;
  background: rgba(0,0,0,0.001);
  cursor: pointer;
  text-decoration: none;
}
main.page:has(img.template-image[src*="industrial-automation.jpg"]) > .industrial-footer-conversation-contact:focus-visible {
  outline: 2px solid #ff252d;
  outline-offset: -2px;
}

/* Testing & Validation: footer CTA overlay precisely over the visible red button. */
main.page:has(img.template-image[src*="testing-validation.jpg"]) > .testing-footer-conversation-contact {position:absolute;left:28.9%;top:82.45%;width:14.8%;height:2.2%;z-index:2147483002;display:block;background:transparent;cursor:pointer;}


/* Staffing & Training page: requested contact CTA, footer logo hit area, and duplicate icon cleanup. */
main.page:has(img.template-image[src*="staffing-training.jpg"]) > .staffing-footer-cta-contact {
  position: absolute !important;
  left: 62.0% !important;
  top: 80.65% !important;
  width: 15.0% !important;
  height: 2.45% !important;
  display: block !important;
  z-index: 2147483006 !important;
  background: transparent !important;
  cursor: pointer !important;
}
main.page:has(img.template-image[src*="staffing-training.jpg"]) > a.footer-logo-home-hotspot {
  top: calc(87.2% + 1in) !important;
}
/* The three colored social icons are already part of this page's reference artwork;
   suppress only the extra CSS-generated monochrome duplicate icons. */
main.page:has(img.template-image[src*="staffing-training.jpg"]) > nav.footer-social-hotspots > a::after {
  content: none !important;
  display: none !important;
  background-image: none !important;
}


/* Temporary site-wide maintenance banner */
/* Remove the .maintenance-banner element from each HTML page when testing is complete. */
.maintenance-banner{
  display:block; position:relative; z-index:1000; width:100%; box-sizing:border-box;
  margin:0; padding:9px 12px; background:#17263d; color:#ffffff; text-align:center;
  font:600 13px/1.35 Arial,Helvetica,sans-serif; letter-spacing:.4px;
}
.maintenance-banner span{display:inline-block; animation:maintenance-banner-pulse 1.8s ease-in-out infinite}
@keyframes maintenance-banner-pulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){.maintenance-banner span{animation:none}}
@media(max-width:600px){.maintenance-banner{padding:8px 10px;font-size:11px;letter-spacing:0}}
