/* V50 — refined navigation hand-off.
   The fixed navigation stays visually stable while page content changes with a restrained
   opacity + micro-translation transition. Active nav markers are shared transition elements,
   so the indicator glides between sections instead of the entire page performing a large peel. */
@view-transition { navigation: auto; }

html,body{background:#fff;}
html.yf-vt-lock,html.yf-vt-lock body{overflow-x:hidden;}

/* Hold page-local editorial motion until the navigation hand-off is underway. */
html.yf-page-enter-block .yf-case-card,
html.yf-page-enter-block .yf-v37-reveal,
html.yf-page-enter-block .yf-reveal,
html.yf-page-enter-block .yf-section-heading-inner,
html.yf-page-enter-block .yf-products-intro .yf-title-line-inner,
html.yf-page-enter-block .yf-products-intro .yf-title-support{
  animation:none!important;
  transition:none!important;
}
html.yf-page-enter-block .yf-section-heading-inner,
html.yf-page-enter-block .yf-products-intro .yf-title-line-inner,
html.yf-page-enter-block .yf-products-intro .yf-title-support{opacity:0!important;}
html.yf-page-enter-block [data-delighter],
html.yf-page-enter-block .delighter{animation-play-state:paused!important;}

/* Keep the fixed top navigation stable between documents. */
.topMenu{view-transition-name:yf-top-nav;}
::view-transition-group(yf-top-nav){z-index:2147483000;animation:none!important;}
::view-transition-old(yf-top-nav),
::view-transition-new(yf-top-nav){mix-blend-mode:normal;animation:none!important;}

/* Shared active markers create the subtle "gliding navigation" feel. */
.topMenu .mLinks .mLinksDiv div>a.hover p span{view-transition-name:yf-nav-marker;}
.subMenu .tabs a.hover p span{view-transition-name:yf-subnav-marker;}
::view-transition-group(yf-nav-marker),
::view-transition-group(yf-subnav-marker){
  z-index:2147483010;
  animation-duration:.52s;
  animation-timing-function:cubic-bezier(.22,1,.36,1);
}
::view-transition-old(yf-nav-marker),
::view-transition-new(yf-nav-marker),
::view-transition-old(yf-subnav-marker),
::view-transition-new(yf-subnav-marker){
  mix-blend-mode:normal;
  animation:none!important;
}

::view-transition-group(root){
  z-index:1;
  overflow:clip;
  background:#fff;
  animation:none;
  isolation:isolate;
}
::view-transition-image-pair(root){
  isolation:isolate;
  overflow:clip;
  background:#fff;
}
::view-transition-old(root),
::view-transition-new(root){
  mix-blend-mode:normal;
  backface-visibility:hidden;
  animation-fill-mode:both;
  will-change:transform,opacity;
  transform:translate3d(0,0,0);
  background:#fff;
}
::view-transition-old(root){z-index:1;}
::view-transition-new(root){z-index:2;}

/* Main navigation: restrained cross-fade + short directional drift. */
html[data-yf-vt-mode="full"][data-yf-vt-dir="forward"]::view-transition-old(root){animation:yf-v50-full-old-forward .46s cubic-bezier(.4,0,.2,1) both;}
html[data-yf-vt-mode="full"][data-yf-vt-dir="forward"]::view-transition-new(root){animation:yf-v50-full-new-forward .54s cubic-bezier(.22,1,.36,1) both;}
html[data-yf-vt-mode="full"][data-yf-vt-dir="back"]::view-transition-old(root){animation:yf-v50-full-old-back .46s cubic-bezier(.4,0,.2,1) both;}
html[data-yf-vt-mode="full"][data-yf-vt-dir="back"]::view-transition-new(root){animation:yf-v50-full-new-back .54s cubic-bezier(.22,1,.36,1) both;}

/* Secondary/category/detail navigation is even quieter. */
html[data-yf-vt-mode="light"][data-yf-vt-dir="forward"]::view-transition-old(root){animation:yf-v50-light-old-forward .34s cubic-bezier(.4,0,.2,1) both;}
html[data-yf-vt-mode="light"][data-yf-vt-dir="forward"]::view-transition-new(root){animation:yf-v50-light-new-forward .40s cubic-bezier(.22,1,.36,1) both;}
html[data-yf-vt-mode="light"][data-yf-vt-dir="back"]::view-transition-old(root){animation:yf-v50-light-old-back .34s cubic-bezier(.4,0,.2,1) both;}
html[data-yf-vt-mode="light"][data-yf-vt-dir="back"]::view-transition-new(root){animation:yf-v50-light-new-back .40s cubic-bezier(.22,1,.36,1) both;}

@keyframes yf-v50-full-old-forward{
  0%{transform:translate3d(0,0,0) scale(1);opacity:1;}
  100%{transform:translate3d(-2.4vw,0,0) scale(.994);opacity:.18;}
}
@keyframes yf-v50-full-new-forward{
  0%{transform:translate3d(3.2vw,0,0) scale(1.004);opacity:.08;}
  100%{transform:translate3d(0,0,0) scale(1);opacity:1;}
}
@keyframes yf-v50-full-old-back{
  0%{transform:translate3d(0,0,0) scale(1);opacity:1;}
  100%{transform:translate3d(2.4vw,0,0) scale(.994);opacity:.18;}
}
@keyframes yf-v50-full-new-back{
  0%{transform:translate3d(-3.2vw,0,0) scale(1.004);opacity:.08;}
  100%{transform:translate3d(0,0,0) scale(1);opacity:1;}
}
@keyframes yf-v50-light-old-forward{
  0%{transform:translate3d(0,0,0);opacity:1;}
  100%{transform:translate3d(-1.25vw,0,0);opacity:.28;}
}
@keyframes yf-v50-light-new-forward{
  0%{transform:translate3d(1.7vw,0,0);opacity:.16;}
  100%{transform:translate3d(0,0,0);opacity:1;}
}
@keyframes yf-v50-light-old-back{
  0%{transform:translate3d(0,0,0);opacity:1;}
  100%{transform:translate3d(1.25vw,0,0);opacity:.28;}
}
@keyframes yf-v50-light-new-back{
  0%{transform:translate3d(-1.7vw,0,0);opacity:.16;}
  100%{transform:translate3d(0,0,0);opacity:1;}
}

/* file:// / browsers without cross-document View Transitions: a soft opacity veil masks
   the hard document replacement. No large curtain movement, rotation or filter work. */
.yf-vt-fallback-panel{
  position:fixed;
  inset:0;
  z-index:2147482500;
  pointer-events:none;
  background:#f7f6f3;
  opacity:0;
  will-change:opacity;
  transition:opacity .20s cubic-bezier(.4,0,.2,1);
}
.yf-vt-fallback-panel.is-covering{opacity:1;}
.yf-vt-fallback-panel.is-leaving{opacity:0;transition-duration:.30s;transition-timing-function:cubic-bezier(.22,1,.36,1);}
body.yf-vt-fallback-active .topMenu{z-index:2147483000!important;}

/* Case/news page headings. Two safeguards are intentional:
   1) extra clearance after the fixed main + secondary navigation stack;
   2) extra top room inside the clipped line so tight font metrics never shave glyph tops. */
.yf-section-heading{
  position:relative;
  z-index:3;
  margin-top:126px;
  padding:clamp(38px,4.8vw,76px) clamp(30px,6vw,108px) clamp(30px,4vw,58px);
  background:#fff;
  opacity:1;
  scroll-margin-top:126px;
}
.yf-section-heading h1{
  margin:0;
  font-weight:800;
  font-size:clamp(58px,7.2vw,118px);
  line-height:.98;
  letter-spacing:-.055em;
  color:#292525;
}
.yf-section-heading-line{
  display:block;
  overflow:hidden;
  padding-top:.10em;
  padding-bottom:.08em;
  margin-top:-.10em;
}
.yf-section-heading-inner{display:block;transform:translate3d(0,112%,0) skewY(4deg);transform-origin:left bottom;opacity:.001;will-change:transform,opacity;}
.yf-section-heading.yf-heading-motion-ready .yf-section-heading-inner{animation:yf-v50-heading-rise .60s cubic-bezier(.16,1,.3,1) both;}
@keyframes yf-v50-heading-rise{0%{transform:translate3d(0,112%,0) skewY(4deg);opacity:.001}100%{transform:translate3d(0,0,0) skewY(0);opacity:1}}

/* Products title keeps the same clipped-rise language. */
.yf-products-intro h1>span{display:block;overflow:hidden;line-height:.96;padding-top:.05em;padding-bottom:.05em;margin-top:-.05em;}
.yf-products-intro h1>span>.yf-title-line-inner{display:block;transform:translate3d(0,110%,0) skewY(4deg);transform-origin:left bottom;opacity:.001;will-change:transform,opacity;}
.yf-products-intro .yf-products-rule,
.yf-products-intro h2,
.yf-products-intro>p{opacity:0;transform:translate3d(0,18px,0);}
.yf-products-intro.yf-title-motion-ready h1>span>.yf-title-line-inner{animation:yf-v50-title-rise .58s cubic-bezier(.16,1,.3,1) both;}
.yf-products-intro.yf-title-motion-ready h1>span:nth-child(2)>.yf-title-line-inner{animation-delay:.06s;}
.yf-products-intro.yf-title-motion-ready .yf-products-rule{animation:yf-v50-rule-in .44s cubic-bezier(.16,1,.3,1) .15s both;}
.yf-products-intro.yf-title-motion-ready h2{animation:yf-v50-support-in .46s cubic-bezier(.16,1,.3,1) .19s both;}
.yf-products-intro.yf-title-motion-ready>p{animation:yf-v50-support-in .48s cubic-bezier(.16,1,.3,1) .24s both;}
@keyframes yf-v50-title-rise{0%{transform:translate3d(0,110%,0) skewY(4deg);opacity:.001}100%{transform:translate3d(0,0,0) skewY(0);opacity:1}}
@keyframes yf-v50-rule-in{0%{opacity:0;transform:scaleX(.08);transform-origin:left center}100%{opacity:1;transform:scaleX(1);transform-origin:left center}}
@keyframes yf-v50-support-in{0%{opacity:0;transform:translate3d(0,18px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}

/* User-supplied fault-tolerant optics SVG. */
.pageCont li img[src$="fault-tolerant-optics.svg"]{display:block;width:100%;height:auto;max-width:none;}

@media(max-width:900px){
  .yf-section-heading{margin-top:116px;scroll-margin-top:116px;padding:34px 20px 28px;}
  .yf-section-heading h1{font-size:clamp(48px,15vw,82px);line-height:1;}
  .yf-section-heading-line{padding-top:.11em;margin-top:-.11em;}
}

@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root),
  ::view-transition-old(yf-top-nav),::view-transition-new(yf-top-nav),
  ::view-transition-group(yf-nav-marker),::view-transition-group(yf-subnav-marker){animation-duration:.01ms!important;animation-iteration-count:1!important;}
  .yf-vt-fallback-panel{transition-duration:.01ms!important;}
  .yf-section-heading-inner,.yf-products-intro h1>span>.yf-title-line-inner,.yf-products-intro .yf-products-rule,.yf-products-intro h2,.yf-products-intro>p{animation:none!important;transition:none!important;transform:none!important;opacity:1!important;}
}
