/* The surround belongs to the photo strip and travels with the document. */
#craftAtmosphere {
  position:absolute;
  top:0;
  left:0;
  width:0;
  height:0;
  z-index:80;
  clip-path:none;
  pointer-events:none;
  opacity:1;
  transition:opacity 380ms cubic-bezier(.4,0,.2,1);
}
#craftAtmosphere::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  /* A precise opening: no floating feather or bright gap at the image edge. */
  box-shadow:
    0 0 0 clamp(50px, 10vh, 140px) rgba(11,12,11,.72),
    inset 0 7px 10px -8px rgba(11,12,11,.7),
    inset 0 -7px 10px -8px rgba(11,12,11,.7);
  opacity:var(--craft-dim,0);
  transition:opacity 900ms cubic-bezier(.4,0,.2,1);
  will-change:opacity;
}
/* Each threshold change runs a complete, eased light transition. */
#craftAtmosphere.is-navigating {opacity:0;}
@media(prefers-reduced-motion:reduce) {
  #craftAtmosphere, #craftAtmosphere::before {transition:none;}
}
@media print {
  #craftAtmosphere {display:none;}
}

/* The background strip and its title emerge with the same light envelope. */
html.rv-on body #stPhoto.is-craft-controlled{opacity:1!important;transform:none!important;transition:none!important;}
html.rv-on body #stPhoto.is-craft-controlled>img{
 opacity:calc(.38 + .62 * var(--craft-dim,0))!important;
 transition:opacity 900ms cubic-bezier(.4,0,.2,1)!important;transition-delay:0ms!important;
}
html.rv-on body #stPhoto.is-craft-controlled .st-made{
 opacity:var(--craft-dim,0)!important;
 transition:opacity 900ms cubic-bezier(.4,0,.2,1)!important;transition-delay:0ms!important;
}
html.rv-on body #stPhoto.is-craft-controlled:focus-within .st-made{opacity:1!important;}
@media(prefers-reduced-motion:reduce){
 html.rv-on body #stPhoto.is-craft-controlled>img,
 html.rv-on body #stPhoto.is-craft-controlled .st-made{opacity:1!important;transition:none!important;}
}
