/* UW3D v0.1.97 — homepage Hero only. No rules for models, catalogs or other pages. */
.uw3d192-home .uw3d2-hero__copy{
  min-width:0;
  padding-top:18px;
  padding-bottom:18px;
}
.uw3d197-hero-copy-inner{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  max-width:100%;
  transform:translateY(var(--uw197-copy-offset,-37px));
}
.uw3d192-home .uw3d197-hero-copy-inner .uw3d2-kicker{margin:0 0 8px;max-width:100%}
.uw3d192-home .uw3d197-hero-copy-inner .uw3d2-hero__heading{
  margin:7px 0 11px;
  max-width:100%;
  overflow-wrap:break-word;
}
.uw3d192-home .uw3d197-hero-copy-inner .uw3d2-hero__intro{
  margin:0 0 14px;
  max-width:100%;
}
.uw3d197-hero-group{display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:100%}
.uw3d197-hero-actions{
  display:flex;align-items:stretch;justify-content:flex-start;
  flex-wrap:wrap;gap:var(--uw197-actions-gap,12px);
  margin:0;
  width:100%;
}
.uw3d197-cta,
.uw3d192-home .uw3d197-cta{
  --uw197-size:var(--uw197-btn-font,12px);
  display:inline-flex;align-items:center;justify-content:center;
  gap:10px;box-sizing:border-box;
  max-width:100%;
  width:var(--uw197-btn-width,auto);min-height:42px;
  margin:0;
  padding:var(--uw197-btn-pad-y,11px) var(--uw197-btn-pad-x,18px);
  border:1px solid var(--uw197-btn-border,#00c5d7);
  border-radius:var(--uw197-btn-radius,4px);
  background:var(--uw197-btn-bg,#00f1fe);
  color:var(--uw197-btn-text,#05212b)!important;
  font-family:Quantico,sans-serif;
  font-size:var(--uw197-btn-font,12px);
  font-weight:var(--uw197-btn-weight,800);
  line-height:var(--uw197-btn-line,1.2);
  letter-spacing:var(--uw197-btn-tracking,0px);
  text-decoration:none;
  text-align:center;
  transition:color .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease,transform .18s ease;
  white-space:normal;
}
.uw3d192-home .uw3d197-cta.uw3d197-cta--gradient{background:linear-gradient(95deg,var(--uw197-btn-bg,#00f1fe),var(--uw197-btn-bg2,#04c5e1))}
.uw3d192-home .uw3d197-cta.uw3d197-cta--solid-cyan{background:linear-gradient(90deg,#00eaf4,#00c8e5);border-color:#00d8ea;color:#05212b!important}
.uw3d192-home .uw3d197-cta.uw3d197-cta--solid-orange{background:linear-gradient(90deg,#ff8c20,#e75900);border-color:#ff6900;color:#fff!important}
.uw3d192-home .uw3d197-cta.uw3d197-cta--outline-cyan{background:#031721b8;border-color:#00e8f2;color:#c9fbff!important}
.uw3d192-home .uw3d197-cta.uw3d197-cta--outline-orange{background:#031721ad;border-color:#ff6900;color:#f7fcff!important}
.uw3d192-home .uw3d197-cta.uw3d197-cta--glass{background:rgba(0,191,211,.13);backdrop-filter:blur(12px);border-color:rgba(122,248,255,.55);color:#f1ffff!important}
.uw3d192-home .uw3d197-cta.uw3d197-cta--custom{background:var(--uw197-btn-bg,#00f1fe);border-color:var(--uw197-btn-border,#00c5d7)}
.uw3d192-home .uw3d197-cta:not(.uw3d55-btn):hover,
.uw3d192-home .uw3d197-cta:not(.uw3d55-btn):focus-visible{
  background:var(--uw197-btn-hover-bg,#0cfaff);
  color:var(--uw197-btn-hover-text,#05212b)!important;
  border-color:var(--uw197-btn-border,#00c5d7);
  box-shadow:0 0 14px #00f1fe24;
  transform:translateY(-1px);
}
.uw3d197-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}
.uw3d197-cta-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;color:var(--uw197-btn-icon,#05212b)}
.uw3d197-cta-icon svg{display:block;width:var(--uw197-btn-icon-size,17px);height:var(--uw197-btn-icon-size,17px);max-width:100%}
.uw3d197-cta-text{overflow-wrap:break-word}
.uw3d197-hero-facts{
  display:flex;flex-wrap:wrap;align-items:center;
  max-width:100%;width:100%;
  gap:var(--uw197-facts-gap,9px);
  margin-top:var(--uw197-facts-top,15px);
}
.uw3d197-hero-fact{
  display:flex;align-items:center;gap:8px;
  min-width:0;flex:1 1 100px;max-width:33%;
  color:var(--uw197-fact-text,#bddbe4);font-size:var(--uw197-fact-size,10px);font-weight:var(--uw197-fact-weight,800);line-height:var(--uw197-fact-line,1.4);letter-spacing:var(--uw197-fact-spacing,0px);
  border-right:1px solid #185c6e;padding:4px 8px;
}
.uw3d197-hero-fact:first-child{padding-left:0}
.uw3d197-hero-fact:last-child{border-right:0}
.uw3d197-hero-fact svg{color:var(--uw197-fact-icon,#00e8f2);width:var(--uw197-fact-icon-size,27px);height:var(--uw197-fact-icon-size,27px);flex:0 0 var(--uw197-fact-icon-size,27px)}
.uw3d197-hero-fact span{min-width:0;overflow-wrap:normal}
/* The right-side scan specification panel can be independently hidden or edited. */
.uw3d197-hero-spec{
  position:absolute;
  top:var(--uw197-spec-top,85px);
  right:var(--uw197-spec-right,90px);
  width:min(var(--uw197-spec-width,190px),calc(100% - 24px));
  z-index:5;box-sizing:border-box;
  padding:var(--uw197-spec-padding,15px);
  border:1px solid var(--uw197-spec-border,#16667b);
  border-radius:var(--uw197-spec-radius,0px);
  background:color-mix(in srgb,var(--uw197-spec-bg,#03151b) var(--uw197-spec-opacity,92%),transparent);
  color:var(--uw197-spec-text,#cce7ef);
  box-shadow:0 12px 40px #0007;
  pointer-events:none;
  overflow-wrap:anywhere;
  font-family:Quantico,sans-serif;
  line-height:var(--uw197-spec-line-height,1.5);
  letter-spacing:var(--uw197-spec-tracking,0px);
}
.uw3d197-hero-spec strong{color:var(--uw197-spec-heading,#f4fcff);display:block;font-size:var(--uw197-spec-title-size,13px);font-weight:var(--uw197-spec-weight,800);line-height:inherit}
.uw3d197-hero-spec small{color:var(--uw197-spec-text,#cce7ef);display:block;font-size:var(--uw197-spec-body-size,10px);margin:6px 0}
.uw3d197-hero-spec__divider{display:block;background:var(--uw197-spec-accent,#ff6900);height:2px;width:28px;margin:10px 0}
.uw3d197-hero-spec p{font-size:var(--uw197-spec-body-size,10px);margin:6px 0;line-height:inherit}
.uw3d197-hero-spec__symbol{display:block;margin:13px auto 0;width:86px;height:64px}
.uw3d197-hero-spec__symbol svg{color:var(--uw197-spec-icon,#00f1fe);height:100%;width:100%;display:block}
.uw3d197-hero-spec img{width:100%;max-width:114px;height:70px;object-fit:contain;display:block;margin:13px auto 0}
@media(max-width:1000px){
 .uw3d197-hero-spec:not(.uw3d197-hero-spec--mobile){display:none}
}
@media(max-width:760px){
 .uw3d197-hero-copy-inner{transform:translateY(var(--uw197-copy-offset-mobile,0px));}
 .uw3d192-home .uw3d2-hero__copy{padding:10px 0}
 .uw3d192-home .uw3d197-hero-copy-inner .uw3d2-hero__heading{margin:9px 0 11px}
 .uw3d197-hero-actions{gap:11px}
 .uw3d197-cta{font-size:var(--uw197-btn-font-mobile,12px)}
 .uw3d197-hero-fact{min-width:100px;max-width:33%;font-size:var(--uw197-fact-mobile,10px)}
 .uw3d197-hero-spec--mobile{top:14px;right:14px;max-width:46%;padding:10px;}
 .uw3d197-hero-spec strong{font-size:var(--uw197-spec-title-mobile,12px)}
 .uw3d197-hero-spec small,.uw3d197-hero-spec p{font-size:var(--uw197-spec-body-mobile,11px)}
}
@media(max-width:520px){
 .uw3d197-hero-actions{align-items:stretch}
 .uw3d197-cta{flex:1 1 140px}
 .uw3d197-hero-facts{gap:7px}
 .uw3d197-hero-fact{flex:1 1 100%;max-width:100%;padding:7px 0;border:0;border-bottom:1px solid #144f60}
 .uw3d197-hero-fact:last-child{border:0}
 .uw3d197-hero-spec--mobile{max-width:50%;width:155px}
}
@media(prefers-reduced-motion:reduce){.uw3d197-cta{transition:none}.uw3d197-cta:hover{transform:none}}

/* v0.1.121 — v119-style left logo in the main header, with home-only responsive sizing. */
body.uw3d121-home-logo .uw3d2-hd-header .uw3d2-brand {
  position:relative;
  z-index:5;
  transform:translate(var(--uw121-logo-x-d,0px),var(--uw121-logo-y-d,0px));
}
body.uw3d121-home-logo .uw3d2-hd-header .uw3d2-brand .custom-logo {
  width:var(--uw121-logo-size-d,260px)!important;
  height:auto!important;
  max-height:none!important;
  max-width:min(500px,calc(100vw - 60px))!important;
  object-fit:contain;
}
@media(max-width:1180px){
  body.uw3d121-home-logo .uw3d2-hd-header .uw3d2-brand {
    transform:translate(var(--uw121-logo-x-m,0px),var(--uw121-logo-y-m,0px));
  }
  body.uw3d121-home-logo .uw3d2-hd-header .uw3d2-brand .custom-logo {
    width:min(var(--uw121-logo-size-m,140px),calc(100vw - 115px))!important;
    max-width:calc(100vw - 115px)!important;
    max-height:none!important;
  }
}

/* v0.1.193: scale occupies space in the panel; X/Y only offset the illustration. */
.uw3d197-hero-spec .uw3d197-hero-spec__graphic {
  display:block;
  box-sizing:border-box;
  margin:13px auto 0;
  width:var(--uw193-graphic-width,114px);
  max-width:100%;
  height:var(--uw193-graphic-height,70px);
  transform:translate(var(--uw193-graphic-x,0px),var(--uw193-graphic-y,0px));
  transition:none;
}
.uw3d197-hero-spec .uw3d197-hero-spec__graphic img,
.uw3d197-hero-spec .uw3d197-hero-spec__graphic svg {
  display:block;width:100%;height:100%;max-width:none;object-fit:contain;margin:0;
}
.uw3d197-hero-spec .uw3d197-hero-spec__graphic--icon svg {color:var(--uw197-spec-icon,#00f1fe)}
@media (max-width:760px) {
  .uw3d197-hero-spec .uw3d197-hero-spec__graphic {
    width:var(--uw193-graphic-width-mobile,var(--uw193-graphic-width,114px));
    height:var(--uw193-graphic-height-mobile,var(--uw193-graphic-height,70px));
    transform:translate(var(--uw193-graphic-x-mobile,0px),var(--uw193-graphic-y-mobile,0px));
  }
}

/* v0.1.194 — Hero mini scan panel: Auto fits Y displacement without leaving a bottom gap.
   The graphic wrapper reserves exactly original graphic height + Y offset (floored at 0).
   Its child moves by Y and retains the actual scaled image size; X stays purely visual. */
.uw3d197-hero-spec{
  height:var(--uw194-panel-height-d,auto);
  padding-bottom:var(--uw194-bottom-padding-d,var(--uw197-spec-padding,15px));
}
.uw3d197-hero-spec .uw3d197-hero-spec__graphic{
  height:max(0px,calc(var(--uw193-graphic-height,70px) + var(--uw193-graphic-y,0px)));
  transform:translateX(var(--uw193-graphic-x,0px));
  margin-bottom:var(--uw194-graphic-space-d,0px);
}
.uw3d197-hero-spec .uw3d197-hero-spec__graphic img,
.uw3d197-hero-spec .uw3d197-hero-spec__graphic svg{
  height:var(--uw193-graphic-height,70px);
  transform:translateY(var(--uw193-graphic-y,0px));
}
@media (max-width:760px){
  .uw3d197-hero-spec--mobile{
    height:var(--uw194-panel-height-m,auto);
    padding-bottom:var(--uw194-bottom-padding-m,10px);
  }
  .uw3d197-hero-spec .uw3d197-hero-spec__graphic{
    height:max(0px,calc(var(--uw193-graphic-height-mobile,var(--uw193-graphic-height,70px)) + var(--uw193-graphic-y-mobile,0px)));
    transform:translateX(var(--uw193-graphic-x-mobile,0px));
    margin-bottom:var(--uw194-graphic-space-m,0px);
  }
  .uw3d197-hero-spec .uw3d197-hero-spec__graphic img,
  .uw3d197-hero-spec .uw3d197-hero-spec__graphic svg{
    height:var(--uw193-graphic-height-mobile,var(--uw193-graphic-height,70px));
    transform:translateY(var(--uw193-graphic-y-mobile,0px));
  }
}
